【问题标题】:Retrieving all links from all pages of Google search result using JSoup使用 JSoup 从 Google 搜索结果的所有页面中检索所有链接
【发布时间】:2015-02-18 02:40:40
【问题描述】:

我有以下代码用于在 java 中使用 JSoup 解析 HTML。

Document linksDoc = null; 
linksDoc = Jsoup.connect("http://www.google.com/search?q=jbutton").userAgent("Mozilla").get();
Elements titles = linksDoc.select("h3.r > a");

for(Element e: titles){
    System.out.println("text"+cnt+": " +e.attr("href"));
  } 

问题是我只能检索首页搜索结果链接。我应该怎么做才能从谷歌搜索结果的其余页面获取链接。

【问题讨论】:

    标签: java html-parsing jsoup


    【解决方案1】:

    如果您想从第二页获取结果,请将&start=10 添加到 URL。第三页使用&start=20等等。

    Document linksDoc = Jsoup.connect("http://www.google.com/search?q=jbutton&start=10")
            .userAgent("Mozilla").get();
    //...
    

    【讨论】:

    • 这就是我喜欢这个网站的原因——我每天可以学到几件新东西,谢谢! (糟糕的评论,我知道,对不起)
    • 结果少于 10 个而我们使用这个会发生什么?
    • @AlexandruSeverin 没有测试它,但我猜你会得到没有更多结果信息的页面,或者你会被重定向到有结果的第一页或最后一页。无论如何,我会避免这种情况。您可以从第一页开始浏览结果,然后只需点击下一页按钮下的链接。对我来说doc.select("td.b a.fl").attr("abs:href") 工作正常,但根据您所在的位置,您可能会获得不同的 HTML 代码,因此您可能需要检查已解析的文档才能找到它。
    猜你喜欢
    • 2017-10-21
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多