關於爬蟲工具。
請求獲取網頁資訊類工具:urllib,urllib3,requests
注:在python2.x裡面有urllib和urllib2;在python3.x裡面就把urllib和urllib2合成一個urllib;urllib3是在python3.x了裡面新增的第三方擴充套件.Requests它會比urllib更加方便,可以節約我們大量的工作。(用了requests之後,你基本都不願意用urllib了)一句話,requests是python實現的最簡單易用的HTTP庫,建議爬蟲使用requests庫。
基本用法:
import requests
res=requests.get('http://www.julongyoule.cn') #獲取,返回一個http請求response
res.encoding='utf-8' #可以指定編碼,不然中文會亂碼
res.text #取得http相應的html程式碼
解析網頁資料工具:beautifulsoup,etree,Selecter等。(個人掌握etree和beautifulsoup就ok了)
etree基本用法:(配合xpath)
from lxml import etree
etree.HTML(res.text).xpath('//a/@href')
#返回一個列表,注意解析的必須是html程式碼,requests返回的response的text
beautifulsoup基本用法(利用css選擇方式select):
from bs4 import Beautifulsoup
soup=Beautifulsoup(res.text,'lxml') #注意解析的必須是html程式碼,requests返回的response的text
a_list=soup.select('a') #返回的是一個列表 必須在for迴圈中使用a['href']才能取得連結
Selecter基本用法(scrapy框架所使用的解析器):
from parsel import Selecter
sel_list=Selector(text=res.text).xpath('//a/@href').extract() #返回的也是一個列表,注意這裡的extract(),與etree的區別