在不使用Java

时间:2015-11-10 05:56:43

标签: parsing web-crawler html-parsing jsoup htmlunit

我有一个HTML页面,让我们说http://www.crisil.com/Ratings/RatingList/RatingDocs/_G_Telecom_Infra_India_Private_Limited_August_28_2015_RR.html

我想解析关于公司段落和下表,而不使用任何类型的选择器或Java中的XPath。

我知道我可以使用XPath,但是我有来自不同域的很多不同的页面,XPath可能会改变。

关于公司字符串将保持不变,但位置可能会因页面而异。请提出一些解决方案,我已经尝试过Jsoup,HTMLUnit,DocumentBuilder和其他一些库,但看起来大多数都依赖于标签。

3 个答案:

答案 0 :(得分:0)

你可以使用beautifulsoup它的python库http://www.crummy.com/software/BeautifulSoup/

但是,您应该向我们展示您的代码试用版,因此我们可以帮助您完成现有代码。 我可以向你展示一些代码,在BeautifulSoup中它是一个微不足道的东西,可以在关于你正在阅读的公司之类的特定部分之后寻找下一个Table元素。在其中写下一些代码,如果它不适合你,我们会帮助你。

答案 1 :(得分:0)

XPath确实能够通过innertext选择元素。

点击此处:XPath selection by innertext

答案 2 :(得分:0)

我会使用HtmlUnit而不是去if not found:

id="AboutCompanySecDivEdit"

将返回:

page.getElementById("AboutCompanySecDivEdit");

这只适用于您的所有网站都设置此ID,就像您举例说明的那样。