我正在用java编写一个站点爬虫,我想知道最合理的运行方式是什么?换句话说,我是去标准的Web应用程序路由并放入Web服务器并使用某种消息队列还是忘记容器并将其作为独立的Java应用程序运行?
这不是一个真正的网络抓取工具,因为它只关心x网站,但我希望不断循环浏览这些网站(24小时),以确保我拥有最新的内容。
答案 0 :(得分:1)
问问自己,通过网络请求访问您的网络抓取工具是否有任何优势(对您而言)。如果没有,则没有理由将其放入Web容器中。
...但我希望不断循环浏览这些网站(24小时)以确保我拥有最新内容。
我希望您得到网站所有者的同意/许可。否则,他们可能会采取技术或法律措施阻止您这样做。
正如Danny Thomas所说,您的抓取工具应实施“robots.txt”处理程序,并尊重这些文件在抓取时所说的内容。
<强>后续强>
由于我需要访问的网站数量,我可能不会再访问同一页面至少10-15个小时。这通常被认为是太多爬行吗?
这不是问题的正确问题。要问的正确问题是,特定网站所有者是否会认为这样做太多了。
它们花了多少钱?他们是否需要做额外的工作来处理爬行造成的负担?他们需要增加容量吗?它会增加运营成本吗? (网络收费,电费?)
你是否正在做一些可以减少收入的内容;例如减少网站上的实际点击次数,广告点击次数?
他们从您的抓取中获得了什么好处?
你在为公益事业做些什么? (或者它只是让你从内容中挣钱的一种方式?)
真正了解的唯一方法是问他们。