wget with sleep for friendly crawl

时间:2014-09-18 10:07:40

标签: url web-scraping scrapy wget

如何从网址列表下载并在每次下载之间启动暂停?

我在url.txt中有一个网址列表,例如

http://manuals.info.apple.com/cs_CZ/Apple_TV_2nd_gen_Setup_Guide_cz.pdf
http://manuals.info.apple.com/cs_CZ/apple_tv_3rd_gen_setup_cz.pdf
http://manuals.info.apple.com/cs_CZ/imac_late2012_quickstart_cz.pdf
http://manuals.info.apple.com/cs_CZ/ipad_4th-gen-ipad-mini_info_cz.pdf
http://manuals.info.apple.com/cs_CZ/iPad_iOS4_Important_Product_Info_CZ.pdf
http://manuals.info.apple.com/cs_CZ/iPad_iOS4_Uzivatelska_prirucka.pdf
http://manuals.info.apple.com/cs_CZ/ipad_ios5_uzivatelska_prirucka.pdf
http://manuals.info.apple.com/cs_CZ/ipad_ios6_user_guide_cz.pdf
http://manuals.info.apple.com/cs_CZ/ipad_uzivatelska_prirucka.pdf

我试过wget -i url.txt但是一段时间后停止了,因为服务器正在检测不友好的抓取。

如何在每个网址之间设置暂停?

如何使用scrapy进行治疗?

2 个答案:

答案 0 :(得分:10)

wget

wget --wait=10 --random-wait --input-file=url.txt

scrapy

scrapy crawl yourbot -s DOWNLOAD_DELAY=10 -s RANDOMIZE_DOWNLOAD_DELAY=1

答案 1 :(得分:2)

您可以使用-w或--wait选项在每个请求之间添加一些延迟。

     -w seconds or --wait=seconds