本文給大家發(fā)發(fā)福利,給大家分享一個(gè)使用Python實(shí)現(xiàn)爬蟲下載百度貼吧美女圖片的代碼,十分不錯(cuò),有需要的小伙伴直接拿走吧。
本次爬取的貼吧是百度的美女吧,給廣大男同胞們一些激勵(lì)
在爬取之前需要在瀏覽器先登錄百度貼吧的帳號(hào),各位也可以在代碼中使用post提交或者加入cookie
爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn=0
- #-*- coding:utf-8 -*-
- import urllib2
- import re
- import requests
- from lxml import etree
- 這些是要導(dǎo)入的庫,代碼并沒有使用正則,使用的是xpath,正則困難的童鞋可以嘗試使用下
- 推薦各位先使用基本庫來寫,這樣可以學(xué)習(xí)到更多
- links=[] #遍歷url的地址
- k=1
- print u'請(qǐng)輸入最后的頁數(shù):'
- endPage=int(raw_input()) #最終的頁數(shù) (r'/d+(?=/s*頁) 這是一個(gè)比較通用的正則抓取總頁數(shù)的代碼,當(dāng)然最后要group
- #這里是手動(dòng)輸入頁數(shù),避免內(nèi)容太多
- for j in range(0,endPage):
- url='http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn='+str(j) #頁數(shù)的url地址
- html=urllib2.urlopen(url).read() #讀取首頁的內(nèi)容
- selector=etree.HTML(html) #轉(zhuǎn)換為xml,用于在接下來識(shí)別
- links=selector.xpath('//div/a[@class="j_th_tit"]/@href') #抓取當(dāng)前頁面的所有帖子的url
- #大家可以使用瀏覽器自帶的源碼查看工具,在指定目標(biāo)處查看元素,這樣更快捷
- for i in links:
- url1="http://tieba.baidu.com"+i #因?yàn)榕廊〉降牡刂肥窍鄬?duì)地址,所以要加上百度的domain
- html2=urllib2.urlopen(url1).read() #讀取當(dāng)前頁面的內(nèi)容
- selector=etree.HTML(html2) #轉(zhuǎn)換為xml用于識(shí)別
- link=selector.xpath('//img[@class="BDE_Image"]/@src') #抓取圖片,各位也可以更換為正則,或者其他你想要的內(nèi)容
- #此處就是遍歷下載
- for each in link:
- #print each
- print u'正在下載%d'%k
- fp=open('image/'+str(k)+'.bmp','wb') #下載在當(dāng)前目錄下 image文件夾內(nèi),圖片格式為bmp
- image1=urllib2.urlopen(each).read() #讀取圖片的內(nèi)容
- fp.write(image1) #寫入圖片
- fp.close()
- k+=1 #k就是文件的名字,每下載一個(gè)文件就加1
- print u'下載完成!'
如果想要爬取其他站點(diǎn)的內(nèi)容,大家可以參考一下
新聞熱點(diǎn)
疑難解答
圖片精選