針對一個網頁寫一個爬蟲很簡單,但針對一個網站或一群網站寫爬蟲,就是一門學問了。從上一篇 robots.txt 的探討,不知道你有沒有注意到 crawl-delay:20
設定值,它告訴我們的是我們允許你合理的來我家抓東西,但每次頻率要間隔 20 秒,否則就...
通常人家這麼好心地告訴你,也代表著它勢必有針對過度的撈取有一些防護措施,如果你不照著規則走,下一步就是把你的 IP 列入黑名單,成為列入拒絕往來戶。
所以在學會寫爬蟲之前,必須怎麼不照成對方是伺服器太大的負擔,基本上針對兩項原則做控管。
JS 越來越夯,寫一個非同步的程式不像之前這麼困難,JS 雖然好寫,但也很容易在觀念還未穩固的時候踩到雷,非同步的程式在使用不慎的時候,會造成短時間發送大量的 request,關於怎麼處理這個問題往後會在談到。
依照對方訂出來的遊戲規則,設定發送 request 的間隔時間。