0

我想在特定类名下抓取/收集页面上的所有链接

例如 HTML 农业 (92)

<a href="http://www.specificurl/page.html" class="generate">Agriculture</a>

我一直在玩弄以下代码:

   List<?> links = page.getByXPath("//div[@class='generate']/@href");

   OR
 List<?> links = page.getAnchors();
    System.out.println(links);

getByXPath 选项返回 null,另一个选项获取所有锚点。有没有办法将链接抓取到列表中?

4

1 回答 1

0

这是一个糟糕的 XPath,但我在缩小范围时遇到了问题。(如有必要,我可以研究一个更好的 XPath,但现在这个可行:

List<?> links = page.getByXPath("/html/body/div[2]/div[2]/table/tbody/tr/td/table/tbody/tr[7]/td/table/tbody/tr/td/div/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr/td/ul/li/a/@href").asList()

我不太清楚为什么它不允许我们用那个类名来抓取它。

当你有机会的时候告诉我它是如何为你工作的

于 2011-02-22T23:56:32.677 回答