我想使一个具有成本效益的分布式爬虫(即,我可以添加额外的服务器,以更快地处理URL),重点是抓取整个网站作为一个服务。它将抓取目标站点的每个URL,并下载,例如,在其他站点上直接引用的任何图片或文件(但不能在此之后爬行其他站点)。由于目标站点所有者将允许他们的网站进行爬行,爬虫可能不那么礼貌,例如每秒下载20页。
这个建筑听起来合理吗?
我读过几篇关于你不应该(也应该!)的文章。这里使用PostgreSQL作为一个queue...my思想,用于队列使用数据库是因为它具有更高的成本效率(AWS听起来很昂贵,每百万次请求需要花费0.50美元),无论如何,工作人员都需要向数据库写入页面元数据,所以它需要能够处理这个队列的吞吐量,而且(也许MQ系统可以这样做)--它允许我编写复杂的队列逻辑。
上面的声音听起来有用吗?我读过几篇关于爬虫的文章,但大多数文章都没有明确说明工作人员是如何通信的,URL边界存储在哪里,这样就可以抵御故障。
https://stackoverflow.com/questions/33597359
复制相似问题