我已经使用 jsoup 构建了一个自定义爬虫。我能够从特定列表页面中删除所有数据。但是对于有分页的页面,我如何从分页元素中获取链接。就像亚马逊、ebay 等中存在的任何零售清单一样,我将产品清单第一页的 URL 传递给 jsoup。它工作正常。但是我如何自动化获取剩余页面链接的过程。
我知道我可以通过硬编码分页类来获取元素。但我正在寻找一种通用的方法。
我已经使用 jsoup 构建了一个自定义爬虫。我能够从特定列表页面中删除所有数据。但是对于有分页的页面,我如何从分页元素中获取链接。就像亚马逊、ebay 等中存在的任何零售清单一样,我将产品清单第一页的 URL 传递给 jsoup。它工作正常。但是我如何自动化获取剩余页面链接的过程。
我知道我可以通过硬编码分页类来获取元素。但我正在寻找一种通用的方法。
for (int i = 1; i < 10; i++) {
String url = "http://exampleurl.com/index.php?page=" + i;
Document doc = Jsoup.connect(url).get();
}
希望这会带来一些启示。该代码将通过分页循环浏览网站中的十页。
如果站点用 注释其分页链接rel="next"
,您可以按照这些链接检索更多页面。
除此之外,HTML 本身没有任何内容指定分页中页面之间的关系。您必须使用启发式方法(例如,带有包含“next”的文本的链接或带有递增数字(1、2、3 ... last)的链接序列)。显然,这些启发式方法不适用于每个站点,并且可能会在站点设计更新时停止工作。