python爬蟲的常見方式
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移動到坐標並點擊並驗證
python爬蟲的常見方式