如何利用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

相关推荐

  • [观点]光大证券:预计2020年将为创业板改革大年

      全景网12月30日讯 光大证券非银团队认为,《证券法》修订案获通过,注册制将全面推行。注册制下压实中介责任,投行对于项目实力把控能力更受强调。未来市场化定价机制与跟投机制下,券商审核把控能力有望全面提高,储备项目资源丰富、投行实力强劲的券商有望进一步受益。预计未来市场机制下公司优胜劣汰,伴随长期资金入市,市场整体将更趋理性化。预计2020年将为…

    创业分享 2023-05-12
    49
  • 黄轩创业路上再遇坎坷“那年CP”迎来曙光

      自郭鑫年“网恋奔现车祸现场”将错就错之后,网友对郭鑫年处理感情的方式表示“刷新了三观”。这场从开始就错误的感情注定没有好结果,随着郭鑫年和温迪日常相处,两人性格和价值观方面的不合愈加明显,上周两人更是因为魔晶内部股份问题几番起争执,温迪狠厉的“美女蛇”属性令郭鑫年和他的团队成员大感不适,也激发了网友对角色的“口诛笔伐”,还有网友在线喊话“郭鑫年今天分手了…

    2023-05-14
    55
  • 2019年度全国50所创新创业典型经验高校名单公布

    全国创新创业典型经验高校评选由教育部组织,旨在深入贯彻党中央、国务院关于做好大学生创新创业工作的重要决策部署,积极发挥典型引领作用,推动全国高校进一步深化创新创业教育改革,提升创业指导服务工作水平。该项评选工作自2016年启动,已经连续开展了4年,每年评选50所高校,湖南共有11所高校获此殊荣。除今年入选的3所高校外,其余8所分别是中南大学、湖南大学、长沙理…

    创业分享 2023-05-12
    78
  • 退役军人帮扶创业联谊会暨国家数字资产研究院揭牌仪式在深举行

      相关新闻   图为:全国工商联副主席孙晓华 精彩图集   同时,大会另外一项重要事项为“中国梦·食安行·退役军人便超车”项目签约仪式。民政部代表方段华苑司长、食品安全进社区惠民工程“金色榜样”代表方张庆董事长、前海帮扶创业公司代表方肖宝桥总裁共同签订。 河南色弱考生被退档 所报大学称合理合法|三问贵州毕节考生高考志愿“被填报” 推荐阅读 收录取…

    创业分享 2023-05-30
    98
  • 江西省泰和县103个病种实行“一口价”付费

    近日,江西省泰和县根据上级文件精神,决定从10月1日起,将输卵管结石、肾结石、甲状腺癌根治术、慢性泪囊炎等103个病种纳入按病种定额付费的范畴,医保基金按“一口价,包干价”买单,进一步减轻参保人员看病就医负担。 据悉,实行“一口价”的病种,付费标准包含患者住院期间所发生的诊断与治疗等全部费用,包括诊断、治疗、手术、麻醉、床位以及护理、药品、医用材料等。泰和县…

    创业分享 2023-05-15
    110

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信