8個有價值的Python技巧

1、基本抓取網頁

成都創新互聯主要從事網站設計制作、網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務北林,十載網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792

get方法

post方法

8個有價值的Python技巧

2、使用代理IP

開發爬蟲過程中經常會遇到IP被封掉的情況,這時就需要用到代理IP;

在urllib2包中有ProxyHandler類,通過此類可以設置代理訪問網頁,如下代碼片段:

8個有價值的Python技巧

3、Cookies處理

cookies是某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密),python提供了cookielib模塊用于處理cookies,cookielib模塊的主要作用是提供可存儲cookie的對象,以便于與urllib2模塊配合使用來訪問Internet資源.

代碼片段:

8個有價值的Python技巧

關鍵在于CookieJar,它用于管理HTTP cookie值、存儲HTTP請求生成的cookie、向傳出的HTTP請求添加cookie的對象。整個cookie都存儲在內存中,對CookieJar實例進行垃圾回收后cookie也將丟失,所有過程都不需要單獨去操作。

手動添加cookie

4、偽裝成瀏覽器

某些網站反感爬蟲的到訪,于是對爬蟲一律拒絕請求。所以用urllib2直接訪問網站經常會出現HTTP Error 403: Forbidden的情況

對有些 header 要特別留意,Server 端會針對這些 header 做檢查

1.User-Agent 有些 Server 或 Proxy 會檢查該值,用來判斷是否是瀏覽器發起的 Request

2.Content-Type 在使用 REST 接口時,Server 會檢查該值,用來確定 HTTP Body 中的內容該怎樣解析。

這時可以通過修改http包中的header來實現,代碼片段如下:

8個有價值的Python技巧

5、頁面解析

對于頁面解析最強大的當然是正則表達式,這個對于不同網站不同的使用者都不一樣,就不用過多的說明,附兩個比較好的網址:

正則表達式入門:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

正則表達式在線測試:http://tool.oschina.net/regex/

其次就是解析庫了,常用的有兩個lxml和BeautifulSoup,對于這兩個的使用介紹兩個比較好的網站:

lxml:http://my.oschina.net/jhao104/blog/639448

BeautifulSoup:http://cuiqingcai.com/1319.html

對于這兩個庫,我的評價是,都是HTML/XML的處理庫,Beautifulsoup純python實現,效率低,但是功能實用,比如能用通過結果搜索獲得某個HTML節點的源碼;lxmlC語言編碼,高效,支持Xpath

6、驗證碼的處理

對于一些簡單的驗證碼,可以進行簡單的識別。本人也只進行過一些簡單的驗證碼識別。但是有些反人類的驗證碼,比如12306,可以通過打碼平臺進行人工打碼,當然這是要付費的。

7、gzip壓縮

有沒有遇到過某些網頁,不論怎么轉碼都是一團亂碼。哈哈,那說明你還不知道許多web服務具有發送壓縮數據的能力,這可以將網絡線路上傳輸的大量數據消減 60% 以上。這尤其適用于 XML web 服務,因為 XML 數據 的壓縮率可以很高。

但是一般服務器不會為你發送壓縮數據,除非你告訴服務器你可以處理壓縮數據。

于是需要這樣修改代碼:

8個有價值的Python技巧

這是關鍵:創建Request對象,添加一個 Accept-encoding 頭信息告訴服務器你能接受 gzip 壓縮數據

然后就是解壓縮數據:

8個有價值的Python技巧

8、多線程并發抓取

單線程太慢的話,就需要多線程了,這里給個簡單的線程池模板 這個程序只是簡單地打印了1-10,但是可以看出是并發的。

雖然說python的多線程很雞肋,但是對于爬蟲這種網絡頻繁型,還是能一定程度提高效率的。

8個有價值的Python技巧

分享題目:8個有價值的Python技巧
路徑分享:http://m.kartarina.com/article36/pgoepg.html

成都網站建設公司_創新互聯,為您提供網站內鏈企業建站靜態網站網站策劃外貿建站網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 免费人妻无码不卡中文字幕系| 97久久精品无码一区二区| 日韩成人无码一区二区三区| 人妻丰满AV无码久久不卡| 亚洲AV日韩AV永久无码绿巨人 | 亚洲AV无码专区日韩| 中文字幕乱偷无码AV先锋| 无码精品A∨在线观看| 国产乱子伦精品无码专区 | 精品无码一区二区三区电影| 国产无遮挡无码视频免费软件| 成人免费无码大片a毛片软件| 亚洲午夜无码毛片av久久京东热| 久久av高潮av无码av喷吹| 亚洲av午夜精品无码专区 | 99精品一区二区三区无码吞精| 国产精品成人无码免费| 亚洲AV无码成人专区| 中文有无人妻vs无码人妻激烈| 好爽毛片一区二区三区四无码三飞| 小13箩利洗澡无码视频网站| 一本色道无码道在线观看| 无码精品人妻一区二区三区AV| 亚洲av无码乱码在线观看野外| 制服在线无码专区| 色窝窝无码一区二区三区 | av无码a在线观看| 久久亚洲精品无码gv| 亚洲精品无码中文久久字幕| 亚洲中文无码线在线观看| 亚洲av无码成人黄网站在线观看| 国产乱子伦精品无码码专区| 丝袜无码一区二区三区| 国产AV无码专区亚汌A√| 亚洲美免无码中文字幕在线| 久久av无码专区亚洲av桃花岛| 久久久久久久人妻无码中文字幕爆| 国产午夜无码精品免费看动漫| 久久久久亚洲av无码尤物| 色欲A∨无码蜜臀AV免费播| 中文字幕乱偷无码av先锋蜜桃|