python爬蟲的常見方式
- 2020 年 1 月 10 日
- 筆記
- requests+bs4+lxml直接獲取並解析html數據
- 抓包ajax請求,使用requests獲取並解析json數據
- 反爬嚴重的網站,使用selenium爬取
- 設置代理
a.urllib/requests/selenium+chrome/selenium+phantomjs設置代理
b.爬取免費代理網站中的免費代理IP存入redis做代理池,並定期提取檢測(訪問目標網站),使用flask搭建網站,從redis返回隨機代理IP(不適合商用)
c.多台ADSL撥號主機安裝tinyproxy做代理,定時撥號獲取自己的IP存入遠程redis做代理池,使用flask搭建網站,從redis返回隨機代理IP(爬取天眼查/IT桔子/搜狗微信)
d.收費代理IP(爬取天眼查/IT桔子/搜狗微信)
- cookie池
- 爬取APP: a.charles/fiddler/wireshark/mitmproxy/anyproxy抓包,appium自動化爬取APP b.mitmdump對接python腳本直接處理,appium自動化爬取APP
- pyspider框架爬取
- scrapy/scrapy-redis/scrapyd框架分佈式爬取
- 驗證碼: a.極驗驗證:selenium呼出驗證碼圖案、截圖,PIL對比色差、算出位置,selenium勻加速+勻減速模擬人類拖動並驗證 b.微博手機版:selenium呼出驗證碼圖案、截圖,製作圖像模板,selenium呼出驗證碼圖案、截圖,使用PIL將截圖與圖像模板對比色差,匹配成功後按照模板名字中的數字順序使用selenium進行拖動並驗證 c.接入打碼平台,selenium呼出驗證碼圖案、截圖,發送到打碼平台,平台返回坐標,selenium移動到坐標並點擊並驗證

