zoukankan      html  css  js  c++  java
  • 有关JSOUP学习分享(一)

            其实现在用JSOUP爬虫的也不多了,但是由于最近换公司,做数据爬虫需要用到,就看了下,感觉还是挺好用的,原理什么的感觉和weblogic也差不到哪里去,废话少说,这里就简单的分享下最近接触的干货。

            JSOUP实现原理也简单说一下,可能有不对的地方评论欢迎指正。我们可以使用JSOUP直接解析某个URL地址或者指定的HTML文本,将抓取的网页或者文本内容加载到Document中,然后可以针对这个doucument进行解析,选择,利用dom或者css或者匹配正则来获取你需要的内容。下面是我项目脚本的内容部分分享,可以供大家一起参考学习,从浅入深:

            第一步:当然是在项目中导入需要的jar包,使用maven管理的可以直接在pom文件里面导,

    没有的同学可以去官网下载jar包https://jsoup.org/download。

            接下来我们就可以正式开始第一个JSOUP项目抓取工作了

            第二步:初始化或者指定url,将内容加载到document并制定编码格式

                String url="http://baidu.com.cn"
                String result = RequestUtil.doGet(url,"GBK")
    
    //            println(result);
                Document doc = Jsoup.parse(result)

    在这里我们可以看到你已经把这个网页内容加载进去了,然后我们可以开始根据需求来抓取需要的数据

        第三步:根据需求抓取数据:

            我们这里先介绍使用选择器来抓取数据,这里可以利用到网页的dom节点class或者id来抓取文本下的

    内容:

            1、根据class选择器来选择文本:

    doc.select(".head_wrapper")

    这里的.head_wrapper就是网页标签的一个类   ,抓取到的文本就是.head_wrapper这个标签及其子节点的里面的内容。

            2、根据id选择器来选择文本:

    Element link2=doc.select("#css_index_result")

    这里选取的是以这个为id的标签内容以及其子节点的所有内容

            3、抓取a标签的href:

    Elements hrefs = doc.select("a[href]");


            4、灵活使用^,$与~分别抓取以什么开头,以什么结尾,正则表达式匹配的内容

    //以.com结尾的img标签内容抓取
    Elements hrefs = doc.select("img[src$=.com]");
    println(hrefs)
    //以//www.开头的img标签内容抓取
    Elements imgs = doc.select("img[src^=//www.]");
    println(imgs)
    //正则表达式匹配以png,gif,jpg结尾的img标签抓取
     Elements jpgs = doc.select("img[src~=(?i)\.(png|gif|jpg?g)]");
    println(jpgs)

    以上抓取的内容可能一条或者多条,多条存放就存放在一个list中,可以遍历这个list查看,ok,这里基础内容写到这里,接下来更新JSOUP学习分享(二),感谢您的阅读

  • 相关阅读:
    TCP 窗口缩放、时间戳和 SACK
    对微前端的11个错误认识
    终于解决了使用Python装饰器的一个痛点
    go使用mongo
    获取鼠标当前元素
    console控制台屏蔽console
    httpx使用HTTP/2
    go解析未知结构的json
    python字典转对象
    .::Best Musica Paradisa::.
  • 原文地址:https://www.cnblogs.com/asd529735325/p/10216039.html
Copyright © 2011-2022 走看看