如何使用JAVA爬取网站数据?

1. Jsoup介绍官网文档:https://jsoup.orgJsoup 是一款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=13.2 分析网站的页面结构通过浏览器的开发者工具,可以分析出页面中我们需要的html结构。
如何使用JAVA爬取网站数据?
可以看出,我们需要的商品数据,封装在一个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/11691.html

(0)
上一篇 2023-05-12 03:35:20
下一篇 2023-05-12 03:36:26

相关推荐

  • 锡盟正镶白旗发放创业 担保贷款2030万元

    该旗为保证创业担保贷款发挥最大的资金使用效益,加强对贷款户的全程监督、服务,认真细致地对每笔贷款申请材料作出书面审查,确保每一位贷款人员实现成功创业。截至2018年底,共发放创业担保贷款213户2030万元。  近年来,正镶白旗把帮助各类人员创业工作摆在突出位置,认真贯彻落实各项创业就业扶持政策,积极开展创业担保贷款发放工作。 创业担保贷款的及时发…

    创业分享 2023-05-13
    188
  • 大学生创新创业经历可以折算学分

    据了解,新修订的《普通高等学校学生管理规定》对休学创业给予了制度保障:新生可以申请保留入学资格去创新创业,入学后也可以申请休学开展创业;参加创新创业等活动以及发表论文、获得专利授权等与专业学习、学业要求相关的经历、成果,可以折算为学分;对休学创业的学生,可以单独规定最长学习年限。 中国政法大学副校长马怀德教授认为,高校探索创新创业折算学分制度,有助于学生将理…

    创业分享 2023-05-21
    119
  • 身残志坚 创业逐梦—阜康市残疾青年黄明的创业之路

      中新网新疆新闻1月10日电(田栋 谢思楠)“我是不幸的,可又是幸运的,当事业有些起色时,很多人问我创业到底有没有捷径?我想用自己这11年的经历来回答。”黄明说。   11年间,从一名乌鲁木齐成人教育学院毕业的学生,发展到拥有120万元资产的汽车租赁公司,32岁的回族青年黄明用自己的创业经历生动诠释了身残志坚、自强不息的精神。   黄明自幼患小儿麻痹症,右…

    创业分享 2023-05-20
    114
  • forward()方法如何实现请求转发?【请求和响应】

    在RequestDispatcher接口中,forward()方法可以实现请求转发,include()方法可以实现请求包含,本节将以请求转发为例,讲解forward()方法的使用。 在Servlet中,如果当前Web资源不想处理请求,则可以通过forward()方法将当前请求传递给其他的Web资源进行处理,这种方式称为请求转发。请求转发的工作原理如图10-8…

    2023-05-12
    107
  • 创业少年张朝阳:期待回到网中央

      17年之后再次提笔撰写关于张朝阳的封面文章,仍然有着当年的希冀和崇尚。现在,张朝阳和他的搜狐体系的公司已经搬至清华科技园。   第1次采访撰写张朝阳的文章是在2001年,记得时值初春时光,苹果笔记本还没有诞生,我提着厚重的电脑慕名抵达北京光华长安大厦当时正处于风口浪尖的门户网站搜狐公司,采访被社会各界议论纷纷的搜狐创始人张朝阳。彼时,那位毕业于清华大学和…

    创业分享 2023-05-14
    127

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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