如何利用Java爬取网站数据?

1.Jsoup介绍

  - 官网文档:https://jsoup.org

  - Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

  2. Jsoup快速入门

  - 获取网页标题

  String url = “https://search.jd.com/Search?keyword=手机&wq=手机&page=1”;   Document document = Jsoup.connect(url).get();   String title = document.select(“title”).text();   System.out.println(title);   `

  - 运行效果:手机 – 商品搜索 – 京东

  3. 网站数据分析

  3.1 分析网站的访问地址

  - 以京东商城为例,商品分页列表的url地址,需要带如下几个参数,因此,在发送http请求时,需要携带正确的参数。

  - URL:

https://search.jd.com/Search?keyword=手机&wq=手机&page=1

  3.2 分析网站的页面结构

  - 通过浏览器的开发者工具,可以分析出页面中我们需要的html结构。

<img src=“assets/image-20220717171103097.png” alt=“image-20220717171103097” style=“zoom:67%;” />

– 可以看出,我们需要的商品数据,封装在一个id=J_goodsList的div标签中,我们可以方便的通过DOM解析出这块数据。

  4. 实战实现过程

  - 获取第1页的商品基本数据

public static void main(String[] args) throws Exception { //第1页地址 String url = “https://search.jd.com/Search?keyword=手机&wq=手机&page=1”; //发送http请求 Document document = Jsoup.connect(url).get(); //在id=J_goodsList的div下,获取所有带有data-sku属性的li标签 Elements lis = document.select(“div[id=J_goodsList] li[data-sku]”); lis.forEach( li -> { //获取商品sku String sku = li.attr(“data-sku”); //获取商品name String name = li.select(“div[class=p-name p-name-type-2] a em”).text(); //获取商品图片地址 String img = li.select(“div[class=p-img] a img[data-lazy-img]”).attr(“data-lazy-img”); System.out.println(String.format(“%s, %s, %s”, sku, name, img)); } ); }

  - 效果预览

如何利用Java爬取网站数据?

  - 改造为分页获取

public static void main(String[] args) throws Exception { //第N页地址 String url = “https://search.jd.com/Search?keyword=手机&wq=手机&page=” + i; //发送http请求 Document document = Jsoup.connect(url).get(); //在id=J_goodsList的div下,获取所有带有data-sku属性的li标签 Elements lis = document.select(“div[id=J_goodsList] li[data-sku]”); lis.forEach( li -> { //获取商品sku String sku = li.attr(“data-sku”); //获取商品name String name = li.select(“div[class=p-name p-name-type-2] a em”).text(); //获取商品图片地址 String img = li.select(“div[class=p-img] a img[data-lazy-img]”).attr(“data-lazy-img”); System.out.println(String.format(“%s, %s, %s”, sku, name, img)); } ); }

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:如何利用Java爬取网站数据? https://www.dachanpin.com/a/cyfx/11333.html

(0)
上一篇 2023-05-12 03:10:33
下一篇 2023-05-12 03:11:39

相关推荐

  • 茶饮加盟怎么选,茶亭序品牌成为众多创业者的首选

    在云深不知处 ① 凡本网注明”稿件来源:济宁日报、济宁晚报”的所有文字和图片稿件,版权均属于 济宁日报社和东方圣城网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明”稿件来源: 东方圣城网”,违者本网将依法追究责任。 地址:广…

    创业分享 2023-05-12
    116
  • 网贷之家P2p理财测评:看极光金融、陆金所、你我贷到底如何!

      p2p作为当下最火的理财方式,深受投资者的喜爱。其中极光金融、陆金所、你我贷是这几年发展最好三家p2p平台。那么这三家平台到底怎么样呢?下面就让我们来一起来看一下,网贷之家是如何评价它们的吧。   一、你我贷:个人小额信贷平台,拥有大量的借款用户和投资项目   你我贷是p2p行业中个人信贷的代表性平台。采用社会征信,对接征信大数据平台来筛选借款人,保障投…

    创业分享 2023-05-22
    135
  • 小土豆 空气炸锅版的制作方法?

           现在很多人都会在家里面购置一台空气炸锅,因为空气炸锅有很多的优势不仅仅整个做饭的时间能够缩短,并且操作也非常的方便,更重要的一方面是用它制作的食物非常的健康,不会影响您的身体健康,能够有助于生活品质的提升,很多人也购买了这样的一台厨房家电,但是却并不知道小土豆 空气炸锅版该如何做,下面就告诉你使用空气炸锅…

    创业分享 2023-05-13
    124
  • 中国国际UAS大会首次新闻发布会在京举行

    黄锵玥致辞   由中国航空学会主办,无人驾驶航空器系统领域内历史最悠久的展会——2016(第六届)中国国际无人驾驶航空器系统大会暨展览(UAS)将于2016年9月19日—23日在中国国际展览中心(静安庄馆)隆重举行。4月28日,大会组委会在京召开了第一次新闻发布会,主办方中国航空学会秘书长吴松,联合主办方中航工业代表——成都飞机研究所周为部长、北京航空航天大…

    创业分享 2023-06-01
    80
  • 科大国创(300520.SZ)2018年度净利润预增155%

      科大国创(300520.SZ)发布2018年度业绩预告,预计2018年度归属于上市公司股东的净利润4685.47万元-5236.70万元,同比增长155%-185%。   报告期内,公司各项业务有序开展,整体经营情况平稳。上年同期公司终止了限制性股票激励计划并摊销了相关股份支付费用,影响了上年同期业绩。   此外,公司预计非经常性损益对归属于上市公司股东…

    创业分享 2023-05-13
    82

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

工作时间:周一至周五,9:30-16:30,节假日休息