2024-10-02 06:34:27 发布
网友
我要从一个房地产网站上(用Scrapy)收集大约50000条记录。 程序设计已经完成并进行了测试,数据库设计合理。在
但我想为意外事件做好准备。 那么,我如何才能真正做到完美无瑕地运行刮板,并将失败和浪费时间的风险降到最低呢?在
更具体地说:
首先,学习以下主题,对如何成为一个好的网络抓取公民有一个大致的概念:
一般来说,首先,你需要确保你在法律上被允许浏览这个特定的网站,并遵守他们的使用条款规则。另外,请检查网站的robots.txt,并遵守其中列出的规则(例如,可以设置^{}指令集)。另外,一个好主意是联系网站所有者,让他们知道你将要做什么或请求许可。在
robots.txt
通过显式指定一个User-Agent头来标识自己。在
User-Agent
另请参见:
Should I carry it out in phases (scraping in smaller batches) ?
这就是^{}设置的作用:
The amount of time (in secs) that the downloader should wait before downloading consecutive pages from the same website. This can be used to throttle the crawling speed to avoid hitting servers too hard.
^{}和{a8}也是相关的。在
调整这些设置以避免频繁访问网站服务器。在
What and how should I log ?
Scrapy在控制台上提供的信息非常广泛,但是您可能需要记录爬行时引发的所有错误和异常。我个人喜欢监听spider_error信号的想法,参见:
spider_error
Which other points of attention should I take into account before launching ? You still have several things to think about.
在某些时候,你可能会被禁止。这总是有原因的,最明显的就是你还是会爬得太硬,他们不喜欢。有一些技术/技巧可以避免被禁止,如旋转IP地址、使用代理、在云端抓取网页等,请参阅:
另一件要担心的事情可能是爬行速度和伸缩性;在这一点上,您可能需要考虑分发您的爬行过程。这是scrapyd会有帮助的,请参阅:
scrapyd
不过,要确保你没有越界,站在合法的一边。在
首先,学习以下主题,对如何成为一个好的网络抓取公民有一个大致的概念:
一般来说,首先,你需要确保你在法律上被允许浏览这个特定的网站,并遵守他们的使用条款规则。另外,请检查网站的} 指令集)。另外,一个好主意是联系网站所有者,让他们知道你将要做什么或请求许可。在
robots.txt
,并遵守其中列出的规则(例如,可以设置^{通过显式指定一个
User-Agent
头来标识自己。在另请参见:
这就是^{} 设置的作用:
^{} 和{a8}也是相关的。在
调整这些设置以避免频繁访问网站服务器。在
Scrapy在控制台上提供的信息非常广泛,但是您可能需要记录爬行时引发的所有错误和异常。我个人喜欢监听
spider_error
信号的想法,参见:在某些时候,你可能会被禁止。这总是有原因的,最明显的就是你还是会爬得太硬,他们不喜欢。有一些技术/技巧可以避免被禁止,如旋转IP地址、使用代理、在云端抓取网页等,请参阅:
另一件要担心的事情可能是爬行速度和伸缩性;在这一点上,您可能需要考虑分发您的爬行过程。这是
scrapyd
会有帮助的,请参阅:不过,要确保你没有越界,站在合法的一边。在
相关问题 更多 >
编程相关推荐