2020-05-09|閱讀時間 ‧ 約 2 分鐘

爬蟲工具

爬蟲工作一段時間,其中有些需要定期每小時爬一次或需要時常維護修改,對於大量的爬蟲要如何寫才能可靠且好維護呢?
網路上很多免費的python爬蟲教學 爬蟲教學 這個寫得很好,就不再重寫教學了,只分享一些實際遇到的問題

以下是我用的爬蟲工具
requests 取得網站內容
pyquery 解析需要的欄位,也可以用beautifulsoup,我選擇使用pyquery,因為可以更方便的取到資料 ,另外語法幾乎跟jquery一樣,jquery是非常實用的工具,寫網站前端或做資料視覺化的互動很常用到,使用過jquery的人轉寫爬蟲可以很快上手
scrapy 如果需要做個可維護好修改的爬蟲還是需要用這個
scrapyd 把爬蟲佈署成一個服務
spiderkeeper(有一些很嚴重的bug需要修改,作者已經沒有維護) scrapyd的圖形化網站服務,做排程
requestium requests整合Selenium的方便工具
tesseract 破解驗證碼,另外自己訓練模型破解驗證碼,會比tesseract正確率高很多,也很簡單實作,網路上有許多現成模型可以使用
MongoDB 對非結構的網站先把資料塞進去

如何爬被禁止爬蟲的網站
  • 使用隨機的瀏覽器 添加user agent
  • ip被封改proxy 去github上找免費proxy服務
  • 下載延遲 越久越好不要把別人的網站搞壞
  • 多執行緒 越少越好不要把別人的網站搞壞,除非是不同網站
  • 如果可以,不要用cookies 有的會被發現爬蟲
  • 當前從哪個網站來的 加referer
以上問題scrapy都可以很方便添加完成,或原本就幫你處理了 網路上都有很多解決上面問題的教學,之後我也會寫我的解法

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.