S L*_*eon 4 python web-crawler scrapy web-scraping
我将要抓取一个房地产网站的大约 50.000 条记录(使用 Scrapy)。编程已经完成并经过测试,数据库设计得当。
但我想为突发事件做好准备。那么我如何才能真正完美地运行刮擦,并且将失败和时间损失的风险降到最低?
进一步来说 :
首先,研究以下主题,对如何成为一名优秀的网络抓取公民有一个大致的了解:
一般来说,首先,您需要确保您在法律上被允许抓取这个特定的网站并遵守他们的使用条款规则。此外,检查网站robots.txt并遵守那里列出的规则(例如,可以设置Crawl-delay指令)。此外,一个好主意是联系网站所有者并让他们知道您将要做什么或请求许可。
通过显式指定User-Agent标题来标识您自己。
也可以看看:
我应该分阶段进行(小批量刮削)吗?
这就是DOWNLOAD_DELAY设置的内容:
下载器在从同一网站下载连续页面之前应等待的时间(以秒为单位)。这可用于限制爬行速度,以避免对服务器造成太大影响。
CONCURRENT_REQUESTS_PER_DOMAIN并且CONCURRENT_REQUESTS_PER_IP也是相关的。
调整这些设置,以免频繁访问网站服务器。
我应该记录什么以及如何记录?
Scrapy 放在控制台上的信息非常广泛,但您可能希望记录爬行时引发的所有错误和异常。我个人喜欢监听spider_error要发射的信号的想法,请参阅:
在启动之前,我还应该考虑哪些其他注意事项?你还有几件事要考虑。
在某些时候,您可能会被禁止。这总是有原因的,最明显的是你仍然会用力地爬行而他们不喜欢它。有一些技术/技巧可以避免被禁止,例如旋转 IP 地址、使用代理、云中的网络抓取等,请参阅:
另一个需要担心的可能是爬行速度和规模;在这一点上,您可能需要考虑分发您的抓取过程。这是有scrapyd帮助的,请参阅:
尽管如此,请确保您没有越界并站在法律方面。
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |