这是this的后续问题:
基本上,我有一个在浏览器中运行的Java小程序,我希望它能够抓取几页。有没有办法使用Java获得python驱动的scrapy的所有好处?
(要在工作中投入额外的扳手,我正在Windows机器上进行开发...这是我第一次尝试使用Python,因此我不知道在考虑将它们一起使用时的局限性。也许有使用Java抓取更好的方法?)
最佳答案
和您之前的问题一样。由于scrapy是一个纯python,因此无法使用Jython。通常,您将使用jython访问Java库,而不是相反。
Python答案
为了回答您的原始问题,我将使用python单独开发我的抓取应用程序,并使用一个中间Web服务层与Java applet进行通信。您可以在python中实现Web服务侦听器,以侦听请求,然后在其中使用该Web服务Java applet。
没有其他解决方案可以保证您的稳定性,因为没有与python和java进行通信的标准方法,所以我肯定会采用Web服务路线。
Java答案
Apache Nutch似乎是一个很好的起点,它不仅仅是一个抓取库(PS:我没有第一手经验)。这似乎有些过头了,但是由于您的应用程序已经在Java中,采取这个选择似乎更好。
最后,它很大程度上取决于您的要求。 Python scrapy可能会更快地使其启动并运行,并且如果您想实现功能全面的Web搜寻器,那么Apache Nutch似乎是一个不错的选择。