- Timing is Everything
- 很多時候只要放慢爬蟲的動作就能解決問題, e.g.,
time.sleep(1)
- 很多時候只要放慢爬蟲的動作就能解決問題, e.g.,
- 做一隻有禮貌的爬蟲: robots.txt (維基百科說明)
- 目標網站希望爬蟲遵守的禮儀規範 (禁止的 User-Agent, 禁止的目錄, 禁止的檔案類型, 送請求的時間間隔...)
- 範例
- 有時候該網站會有說明, e.g., https://www.facebook.com/apps/site_scraping_tos_terms.php
- 最常見的是
User-Agent
. 其他 headers 如Referer
也有看過ch7/kingstone.py
- 網站的安全機制 (防止跨站請求偽造 CSRF) (維基百科說明)
- hidden 欄位的值要先連線取得, 再一併送出 (e.g., ASP.NET 網頁的
__VIEWSTATE
等欄位) ch7/airtw_epa.py
- hidden 欄位的值要先連線取得, 再一併送出 (e.g., ASP.NET 網頁的
ch7/proxy.py
- 代理伺服器查詢: https://free-proxy-list.net/