|
|
1
9
遵守robots.txt(并且不要像已经说过的那样太咄咄逼人)。
|
|
|
2
3
除了Willden和Einar的好答案之外,我真的建议您花点时间阅读HTTP响应代码的含义,以及当您的爬虫程序遇到每一个响应代码时应该做什么,因为这将对您的性能产生很大的影响,以及您是否被禁止访问某些站点。 一些有用的链接: |
|
|
3
3
请确保在您的用户代理字符串中包含一个URL,用于解释您的机器人正在爬行的人/事/原因。 |
|
|
4
3
所有好的观点,都是在这里提出的。您还必须处理动态生成的Java和JavaScript链接、参数和会话ID、转义单引号和双引号、在相对链接上失败的尝试(使用.././跳过根目录)、区分大小写、帧、重定向、cookie。。。。 我可以坚持几天,而且有点。我有一个 Robots Checklist 这涵盖了大部分内容,我很乐意回答我能回答的问题。 您还应该考虑使用开源机器人爬虫代码,因为它在所有这些问题上为您提供了巨大的帮助。关于这一点,我也有一页: open source robot code |
|
|
5
3
另外,不要忘记遵守bot元标记: http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.2
|
|
|
6
2
我认为考虑一下你造成的负担是非常重要的。例如,如果爬虫程序同时或多或少地请求单个站点的每个对象,则可能会导致该特定站点的负载问题。 换句话说,确保你的爬虫不是太有攻击性。 |
|
|
7
2
这是完全可以接受的——只需确保它在每次会话中只访问每个页面一次。在技术上创建searchbot时,您必须遵守robots.txt和
|
|
|
8
2
负载是一个很大的考虑因素。限制你抓取某个特定站点的频率,以及完成目标所需的最基本信息。如果你正在寻找文本,不要下载所有的图片,诸如此类的东西。
|
|
|
9
2
您需要在黑名单站点/域或其他内容(IP范围、ASN等)中添加一些功能,以避免您的爬行器陷入垃圾邮件站点的泥潭。 您需要有一个HTTP实现,能够对超时和行为进行大量控制。期望很多站点发回无效的响应、巨大的响应、垃圾头,或者只是让连接无限期地打开而没有响应等等。 也不要相信200状态意味着“页面存在”。根据我的经验,相当大比例的网站会因为“未找到”或其他错误而发回200条(以及一个大型HTML文档)。 |
|
|
Claudio · 如何使用Selenium下载PDF文件? 2 年前 |
|
|
hidde · 页面上的不同内容Apify网络爬行 6 年前 |
|
|
Tae · Python3中方法has\u key的替换 8 年前 |
|
Vega · 如何从DOM获取所有链接? 8 年前 |