2
我试图通过JSoup获取Google搜索结果列表。我目前使用的方法对第一页(n)工作得非常好,但对于n + 1页,它不能很好地工作。这是我应得的第一页:使用JSoup获取Google搜索结果
doc = Jsoup.connect(search).userAgent("Chrome").get();
links = doc.getElementsByClass("r");
搜索字符串将包含这样的内容:https://www.google.com/search?q=apple
第一页。然后我的代码看起来像这样为N + 1页:
for(int i = 1; i <= pages; i++){
search = "https://www.google.com/#q=" + keyword + "&start=" + (i*10);
doc = Jsoup.connect(search).userAgent("Mozilla").get();
links.addAll(doc.getElementsByClass("r"));
}
为N + 1次的网页搜索将类似于:https://www.google.com/#q=apple&start=10
。 我遇到的主要问题是doc.getElementsByClass("r")
在n + 1搜索中不包含任何元素。这意味着类别r
在JSoup返回时不存在。我通过搜索doc.toString()
进行验证。有没有人有什么建议?
谢谢!
我建议你不要分析搜索结果,而是使用API。 – Kayaman
@Kayaman哪一个? –
@Kayaman另外,为了我的研究目的,我想不使用API。有关如何解析HTML的任何建议? – Tommy