當前位置:
首頁 > 最新 > 大話Python爬蟲的基本套路

大話Python爬蟲的基本套路

什麼是爬蟲?

網路爬蟲

也叫

網路蜘蛛

,如果把互聯網比喻成一個蜘蛛網,那麼蜘蛛就是在網上爬來爬去的蜘蛛,爬蟲程序通過請求url地址,根據響應的內容進行解析採集數據,

比如:如果響應內容是html,分析dom結構,進行dom解析、或者正則匹配,如果響應內容是xml/json數據,就可以轉數據對象,然後對數據進行解析。

有什麼作用?

通過有效的爬蟲手段批量採集數據,可以降低人工成本,提高有效數據量,給予運營/銷售的數據支撐,加快產品發展。

業界的情況

目前互聯網產品競爭激烈,業界大部分都會使用爬蟲技術對競品產品的數據進行挖掘、採集、大數據分析,這是必備手段,並且很多公司都設立了這裡我還是要推薦下我自己的Python學習交流裙:五八八,零九零,九四二,不定期分享乾貨,包括我自己整理的一份2018最新的Python資料和零基礎入門教程,歡迎各位小夥伴。

爬蟲工程師的崗位

合法性

爬蟲是利用程序進行批量爬取網頁上的公開信息,也就是前端顯示的數據信息。因為信息是完全公開的,所以是合法的。其實就像瀏覽器一樣,瀏覽器解析響應內容並渲染為頁面,而爬蟲解析響應內容採集想要的數據進行存儲。

反爬蟲

爬蟲很難完全的制止,道高一尺魔高一丈,這是一場沒有硝煙的戰爭,碼農VS碼農

反爬蟲一些手段:

合法檢測:請求校驗(useragent,referer,介面加簽名,等)

小黑屋:IP/用戶限制請求頻率,或者直接攔截

投毒:反爬蟲高境界可以不用攔截,攔截是一時的,投毒返回虛假數據,可以誤導競品決策

… …

爬蟲基本套路

基本流程

目標數據

來源地址

結構分析

實現構思

操刀編碼

基本手段

破解請求限制

請求頭設置,如:useragant為有效客戶端

控制請求頻率(根據實際情景)

IP代理

簽名/加密參數從html/cookie/js分析

破解登錄授權

請求帶上用戶cookie信息

破解驗證碼

簡單的驗證碼可以使用識圖讀驗證碼第三方庫

解析數據

HTML Dom解析

正則匹配,通過的正則表達式來匹配想要爬取的數據,如:有些數據不是在html 標籤里,而是在html的script 標籤的js變數中

使用第三方庫解析html dom,比較喜歡類jquery的庫

數據字元串

正則匹配(根據情景使用)

轉 JSON/XML 對象進行解析

python爬蟲

python寫爬蟲的優勢

python語法易學,容易上手

社區活躍,實現方案多可參考

各種功能包豐富

少量代碼即可完成強大功能

涉及模塊包

請求

urllib

urllib2

cookielib

多線程

threading

正則

re

json解析

json

html dom解析

pyquery

beautiful soup

操作瀏覽器

selenium

實例解析

鬥魚主播排行

目標數據

獲取排行榜主播信息

排行榜地址]

結構分析

通過抓包[排行榜地址][主播房間地址](谷歌調試network/charles/fiddler)

獲得排行數據介面:https://www.douyu.com/directory/rank_list/game

參數確認(去掉不必要參數)

cookie確認(去掉不必要cookie)

模擬請求(charles/fiddler/postman)

獲得主播房間信息數據

發現$ROOM是主播房間信息,在頁面的script標籤的js變數中,可使用正則工具寫表達式去匹配

實現構思

通過請求[主播排行介面]獲取[排行榜數據]

[排行榜數據]中有主播房間號,可以通過拼接獲得[主播房間地址]

請求[主播房間地址]可以獲得[$ROOM信息],解析可以獲得主播房間信息

操刀編碼

申明:此例子僅作為爬蟲學習DEMO,並無其他利用


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

我用Python實現了12500張貓狗圖像的精準分類

TAG:Python |