您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“python網(wǎng)絡(luò)爬蟲的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python網(wǎng)絡(luò)爬蟲的示例分析”這篇文章吧。
(一) 三種網(wǎng)頁抓取方法
1、 正則表達(dá)式:
模塊使用C語言編寫,速度快,但是很脆弱,可能網(wǎng)頁更新后就不能用了。
2、Beautiful Soup
模塊使用Python編寫,速度慢。
安裝:
pip install beautifulsoup4
3、 Lxml
模塊使用C語言編寫,即快速又健壯,通常應(yīng)該是最好的選擇。
(二) Lxml安裝
pip install lxml
如果使用lxml的css選擇器,還要安裝下面的模塊
pip install cssselect
(三) 使用lxml示例
import urllib.request as re import lxml.html #下載網(wǎng)頁并返回HTML def download(url,user_agent='Socrates',num=2): print('下載:'+url) #設(shè)置用戶代理 headers = {'user_agent':user_agent} request = re.Request(url,headers=headers) try: #下載網(wǎng)頁 html = re.urlopen(request).read() except re.URLError as e: print('下載失敗'+e.reason) html=None if num>0: #遇到5XX錯誤時,遞歸調(diào)用自身重試下載,最多重復(fù)2次 if hasattr(e,'code') and 500<=e.code<600: return download(url,num-1) return html html = download('https://tieba.baidu.com/p/5475267611') #將HTML解析為統(tǒng)一的格式 tree = lxml.html.fromstring(html) # img = tree.cssselect('img.BDE_Image') #通過lxml的xpath獲取src屬性的值,返回一個列表 img = tree.xpath('//img[@class="BDE_Image"]/@src') x= 0 #迭代列表img,將圖片保存在當(dāng)前目錄下 for i in img: re.urlretrieve(i,'%s.jpg'%x) x += 1
以上是“python網(wǎng)絡(luò)爬蟲的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。