Java 运行站点爬虫

Java 运行站点爬虫,java,web-crawler,Java,Web Crawler,我正在用java编写一个站点爬虫,我想知道运行它最明智的方式是什么?换句话说,我是走标准的web应用程序路线,将其放入web服务器并使用某种消息队列,还是忘记容器而将其作为独立的java应用程序运行 这不是一个真正的网络爬虫,因为它只关心x个站点,但我想不断地在这些站点上循环(24小时),以确保我拥有最新的内容。问问你自己,通过网络请求访问你的网络爬虫(对你)有什么好处吗。如果不是,则没有理由将其放入web容器中 。。。但我想经常(24小时)浏览这些网站,以确保我拥有最新的内容 我希望您得到网

我正在用java编写一个站点爬虫,我想知道运行它最明智的方式是什么?换句话说,我是走标准的web应用程序路线,将其放入web服务器并使用某种消息队列,还是忘记容器而将其作为独立的java应用程序运行


这不是一个真正的网络爬虫,因为它只关心x个站点,但我想不断地在这些站点上循环(24小时),以确保我拥有最新的内容。

问问你自己,通过网络请求访问你的网络爬虫(对你)有什么好处吗。如果不是,则没有理由将其放入web容器中


。。。但我想经常(24小时)浏览这些网站,以确保我拥有最新的内容

我希望您得到网站所有者的同意/许可。否则,他们可能会采取技术或法律措施阻止你这样做

正如Danny Thomas所说,您的爬虫程序应该实现一个“robots.txt”处理程序,并尊重这些文件在爬虫时所说的内容


跟进

由于我需要访问的站点数量太多,我可能在至少10-15小时内不会再次访问同一页面。这仍然被普遍认为是过度爬行吗

这个问题问得不对。正确的问题是,特定的站点所有者是否会认为这是太多的爬行。
  • 他们花了多少钱?他们需要做额外的工作来处理你爬行造成的负载吗?他们需要增加容量吗?这会增加他们的运营成本吗?(网络费、电费?)

  • 你是否对他们的内容做了一些可能会减少他们收入的事情;e、 g.减少他们网站的实际点击次数,减少广告点击次数

  • 他们从你的爬行中获得了什么好处

  • 你所做的是为了公众利益吗?(或者这只是你从他们的内容中赚钱的一种方式?)


真正了解的唯一方法是询问他们,任何爬虫都应该遵守robots.txt,除了斯蒂芬的考虑之外,通常还应该采取措施成为一个好公民。谢谢。是的,我没有看到需要通过web请求访问它的场景。我只是想说清楚,我希望爬虫在任何时候都是活动的,但我可能不会再访问同一个页面至少10-15个小时,因为我需要访问的网站数量。这仍然被普遍认为是过度爬行吗?当然,我会确保符合robot.txt中的要求。谢谢Stephen C。有用的反馈。我将在不同的网站上调查这些问题。这些人中的大多数都是大型在线零售商,所以我们会看看这对他们来说是否是一个问题。如果我不是在网络爬虫中运行它,那么除了将它作为shell cron作业进行调度之外,还有什么推荐的运行方法呢。