我需要解析/阅读大量HTML网页(100+)以获取特定内容(几行文字几乎相同)。
我使用了reg的扫描仪对象。表达式和jsoup及其html解析器。
两种方法都很慢并且使用jsoup我收到以下错误: java.net.SocketTimeoutException:读取超时(具有不同连接的多台计算机)
有什么更好的吗?
编辑:
现在我已经开始工作,我认为更好的问题是如何加快速度?
答案 0 :(得分:5)
您是否尝试过延长JSoup的超时?我相信它默认只有3秒钟。参见例如this。
答案 1 :(得分:2)
我将建议Nutch,这是一个开源的网络搜索解决方案,包括对HTML解析的支持。这是一个非常成熟的图书馆。它在引擎盖下使用Lucene,我发现它是一个非常可靠的爬虫。
答案 2 :(得分:0)
学习的一项很棒的技巧是xpath。这对于那份工作来说是完美的!我刚开始自学它进行自动化测试。如果您有任何疑问,请给我发消息。我很乐意帮助你,即使我不是专家。
由于您对Java感兴趣,因此这是一个很好的链接: http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html
当你不使用Java时,xpath也是一件好事,所以我就选择这条路线。