如何利用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)
程序员发帖:从面试到谈薪只用了3天,这种公司能去吗?
上一篇 2023-05-12 03:10:33
程序员35岁就会失业?这是我听过最好的答案
下一篇 2023-05-12 03:11:39

相关推荐

  • 潮青创客新星分享创业经验

      据了解,“凤城青创汇”作为促进创业青年互动交流的平台载体,今后将继续在潮创街众创空间不定期举行分享会,为创业青年们献上更多关于创新创业方面的“干货”。   “不仅学到了很多知识,而且还帮我解决了当前自己创业的一些疑惑。”正准备从事电商行业的吴冬青告诉记者,她自己对电商比较感兴趣,但对电商还存在一些不清楚的地方,正好通过今天这个分享会,了解当前的发展需求,…

    创业分享 2023-05-25
    127
  • 9年创业6次,看Twitch创始人教你如何度过资本“寒冬”!

      “如果没有在休假,都不好意思说自己是做投资的”,这是目前创投圈里流行的一个笑话。甚至有人调侃说,在全世界的知名景点,都能遇到休假中的中国VC。   根据统计,2015年民间投资的增速为10.1%,与往年持平。而今年上半年,却降至到了只有2.8%。在跟一些投资人的交流中,大家都感叹到,进入2016年,不仅今年投资人的出手速度比去年要慢很多,就连很多已经拿到…

    创业分享 2023-06-06
    129
  • 9月28日晚间央视新闻联播集锦

    9月28日晚间央视新闻联播集锦 时间:2016年09月28日 21:12:24 中财网   习近平在中共中央政治局第三十五次集体学习时强调 加强合作推动全球治理体系变革 共同促进人类和平与发展崇高事业   中共中央政治局9月27日下午就二十国集团领导人峰会和全球治理体系变革进行第三十五次集体学习。中共中央总书记习近平在主持学习时强调,随着国际力量对…

    创业分享 2023-05-28
    156
  • 青岛人创业竟有这么多扶持政策,这些你都知道吗?

      毕业了,即将走出象牙塔步入新征程,如何能够快速地成长?年轻就是财富,有冲劲、容易接受新事物,既要仰望星空也要脚踏实地。   驻青各高校在校大学生和在我市创业就业的毕业5年期内的高校毕业生,是我市大学生创业引领计划的重点对象。下面,就一起来看看针对范围内的创业者们有哪些政策支持吧。   大学生申请一次性创业补贴标准是多少?   符合申领条件的毕业5年内普通…

    创业分享 2023-05-20
    129
  • 加微信求支持别把“创业”玩坏了

    □杨仲 机会是留给有所准备的人的,如果自身准备不足,甚至连创业的资金和人气都还要靠“乞讨”来积攒,这样的创业真的“凶多吉少”,这样的创业不开始也罢。 “我正在创业,能帮忙加个微信支持一下吗?”拥挤的轨交车厢内,一位手里拿着二维码的乘客正一节一节车厢请求创业支持。近日,记者收到爆料,希望此类不文明行为能得到有效规范。这种情况,笔者在一次乘坐轨交时也碰到过,而且…

    创业分享 2023-05-12
    172

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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