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