使用JSOUP从网页检索有用的信息

时间:2016-06-27 08:33:49

标签: java html jsoup

我如何从万维网上的任何网页上检索“联系我们”链接。"页脚" JAVA页面的一部分。

E.g。找到页脚元素,或者id =" footer"或者有一个页脚类?

我曾尝试使用JSOUP从网页检索所有链接,然后在其中运行正则表达式.*contact.*。但我无法100%确定这种方法的获取链接是网站的联系我们页面。

Q2

是否还有其他强大的方法,或者我是否可以同时使用页脚链接和我已经完成的方法来确定页面是否确实是联系我们页面?

1 个答案:

答案 0 :(得分:2)

  

但我无法100%确定所提取的链接......

简短回答

你永远不会确定。


LONG ANSWER

对于给定的随机HTML页面,您需要找到“与我们联系”链接。这种工作对人类来说是微不足道的。它对计算机来说是一个巨大的挑战。

我可以在你的案例中看到一些选项:

选项1:群众采购

  • 获取您想要“联系我们”信息的所有网站网址
  • 将他们发送到人群服务平台,要求真人为您查找信息(Rapidworkers.com,Crowdsource.com,Clickworker.com,Amazon Mechanical Turk,microworkers.com)

检查平台是否提供API。

+ work done by human
+ dynamically adapt to unknown pattern
- cost money
- We suck at repetitive tasks

选项2: IA(模式搜索)

  • 训练IA以提取信息
  • 然后通过它的网站

例如,请查看WekaJava-ML

+ Automated task
+ Can perform a repetitive task long time
- May take time to built a robust solution
- Risk of false positive or complete miss

选项3:使用Jsoup

  • 仔细研究您定位的网站的模式
  • 告诉Jsoup找到您检测到的模式

此选项是一项永无止境的任务。您必须始终为Jsoup提供新模式。我建议你有一个监控系统告诉你什么时候网站逃脱任何已知的模式。

+ Automated task
+ Can perform a repetitive task long time
- Take time for studying, discovering, adding new patterns
- Risk of false positive or complete miss

选项4:上述三个选项的混合

您可以在目标网站上使用这三个选项。

+ Reduce chances of false positive or complete misses
+ More confident final result
- Take time for studying, discovering, adding new patterns
- Cost money