栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JSoup抓取Google结果

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JSoup抓取Google结果

干得好。

public class ScanWebSO {public static void main (String args[]){    document doc;    try{        doc =        Jsoup.connect("https://www.google.com/search?as_q=&as_epq=%22Yorkshire+Capital%22+&as_oq=fraud+OR+allegations+OR+scam&as_eq=&as_nlo=&as_nhi=&lr=lang_en&cr=countryCA&as_qdr=all&as_sitesearch=&as_occt=any&safe=images&tbs=&as_filetype=&as_rights=").userAgent("Mozilla").ignoreHttpErrors(true).timeout(0).get();        Elements links = doc.select("li[class=g]");        for (Element link : links) { Elements titles = link.select("h3[class=r]"); String title = titles.text(); Elements bodies = link.select("span[class=st]"); String body = bodies.text(); System.out.println("Title: "+title); System.out.println("Body: "+body+"n");        }    }    catch (IOException e) {        e.printStackTrace();    }}}

另外,要自己完成此操作,我建议您使用chrome。您只需右键单击要刮取的任何内容,然后检查元素。它将带您到该元素位于html的确切位置。在这种情况下,您首先要找出所有结果列表的根目录在哪里。找到该元素时,您要指定元素,最好指定一个唯一的属性进行搜索。在这种情况下,根元素是

<ol eid="" id="rso">

在其下,您将看到一堆以

<li >

这就是您要放入初始元素数组中的内容,然后对于每个元素,您都希望找到标题和正文所在的位置。在这种情况下,我发现标题位于

<h3  >

元件。因此,您将在每个清单中搜索该元素。身体也一样。我发现正文位于下面,因此我使用.text()方法进行搜索,然后返回该元素下的所有文本。关键是始终尝试查找具有原始属性的元素(使用类名是理想的)。如果不这样做,仅搜索“
div”之类的内容,它将在整个页面中搜索包含div的ANY元素并返回该元素。因此,您将获得比您想要的更多的结果。我希望这能很好地解释它。如果您还有其他问题,请告诉我。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号