1. 程式人生 > >python爬蟲的常見方式

python爬蟲的常見方式

adsl ajax 打碼平臺 pid shark 方式 -a 分布式 rapyd

  • 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爬蟲的常見方式