You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Documentdoc = Jsoup.connect(url).headers(headers).userAgent(USER_AGENT).timeout(100000).get();
Elementsresults = doc.select("li[data-asin]");
System.out.println("-----> " + "The id for the first element is " + results.first().id());
intstartId = 0;
try {
// Parse the first product Id, for example, parse "16" from "result_16" startId = Integer.parseInt(results.first().id().split("_")[1]);
} catch(Exceptione) {
// Intentionally left blank
}
System.out.println("num of results = " + results.size());
System.out.println("----> startId is " + Integer.toString(startId));
for(inti = startId; i < startId + results.size(); i++) {
System.out.println("-----> ProductId is " + Integer.toString(i));
// Put your code here
}
老师,我在写爬虫作业 增加paging时遇到点疑问:
老师的代码里是用doc.select("li[data-asin]") 来得到id的数量,然后拼出每个product的detail link. 比如
我也利用了这个方法,为了看的清楚,省略了解析每页产品的那部分代码,代码是
代码:
我发现,编译后代码,每次执行的时候,results.size() 就是这个页面里面的li[data-asin] 的数量每次执行不一样,有时候18,有时候20.。这是为什么呢? 这种变化,会导致这一页的产品取出来不对。
但是我到Amazon里用inspect看的话,都是18个产品,应该是 page1 0-17 page1 16-33, page2 32-49
但是现在results.size()每次不同,导致我得到的产品序号也不对了。所以爬出来的也不对
请帮忙看看是什么问题,
具体请看下截屏
我去Amazon看第2页时是看就18个
编译后,执行一次:
马上执行第二次
奇怪啊,page=2的时候,有时是是18,有时候是20,其他页也是。
The text was updated successfully, but these errors were encountered: