設計python版的爬蟲

2021-08-23 13:41:05 字數 2245 閱讀 2434

準備工作

安裝python2.5

安裝easy_install,pycurl,lxml;建議使用firefox瀏覽器,可以方便的使用各

種除錯外掛程式。

基本知識

需要了解python中unicode的原理,以便掌握gbk和utf-8的轉換方法.

假設content是gbk編碼,在python中,轉換成utf-8的方法如下:

content=content.decode(『gbk』).encode(『utf-8』)

3 專業技能

需要熟練掌握xpath,強烈推薦在資訊抽取時使用xpath,這是一種基於文件結構

的方法。優於使用正規表示式。正規表示式是一種字串匹配的方法,難於維

護。經常用到的xpath很少,比如抽取頁面裡的全部鏈結 「//a」 就好了,可以

用它把程式寫的很優雅,易於維護。lxml是python實現的高效的xml解析工具,易

於使用,示例如下:

建立dom : dom=lxml.html.document_fromstring(content)

得到符合xpath的元素列表:alist=dom.xpath(「//a[@id=』123』]」)

對這些元素做處理:

for a in alist:

do something

需要指出的是,傳入lxml.html.document_fromstring的content最好是

unicode的, 因此可以先做乙個變換content=content.decode(『encoding』)。

和伺服器互動,推薦使用pycurl,這個部分已經封裝好了,只要使用就可以

了。def get_curl(user_agent="msie"):

python爬蟲簡單版

關於爬蟲的合法性幾乎每乙個 都有乙個名為 robots.txt 的文件,當然也有部分 沒有設定 robots.txt。對於沒有設定 robots.txt 的 可以通過網路爬蟲獲取沒有口令加密的資料,也就是該 所有頁面資料都可以爬取。如果 有 robots.txt 文件,就要判斷是否有禁止訪客獲取的資...

go爬蟲設計 併發版

在單機版的基礎上,將耗時最長,等待時間做多的進行併發 也就是fetch模組 fetch的輸出就是parse的輸入,也就是可以把fetch和parse合成乙個模組 worker模組 然後worker這一塊,就可以用併發來實現 worker輸入是request,輸出是乙個request items 加入...

Python爬蟲 反扒機制與高併發爬蟲設計

解決方案 pip install fake useragent解決策略 通過註冊大量賬戶進行登陸爬取 ua reqhd request.request url,headers req request.urlopen reqhd 使用fake useragent 模組 from fake userag...