Java的Jsoup爬虫

article/2025/9/28 14:00:09

Java的Jsoup爬虫,爬携程酒店评分,保存数据库中

  • 前言
  • 一、Jsoup爬虫pom
  • 二、逻辑代码部分
    • 1.首先我们要先确定爬取的东西,这边我就以携程的酒店评分为例子。
    • 2.Jsoup进行解析具体要求爬的内容
    • 3.接下来我们就是将爬取的数据存入数据库中
  • 总结


前言

很多人都知道爬虫,然后这里就简单的介绍一下java爬虫的使用。


好啦,话不多说进入正题!

一、Jsoup爬虫pom

java使用爬虫就要用到爬虫的pom文件

   <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.10.2</version></dependency>

想要使用Jsoup进行爬虫就要使用到上面的pom文件。

二、逻辑代码部分

1.首先我们要先确定爬取的东西,这边我就以携程的酒店评分为例子。

在这里插入图片描述
首先先要用代码去获得这个页面的路径

//1.生成httpclient,相当于该打开一个浏览器CloseableHttpClient httpClient = HttpClients.createDefault();CloseableHttpResponse response = null;//2.创建get请求,相当于在浏览器地址栏输入 网址HttpGet request = new HttpGet("https://hotels.ctrip.com/hotels/list?countryId=1&city=2&checkin=2021/08/09&checkout=2021/08/10&optionId=781302&optionType=Hotel&directSearch=0&optionName=%E5%B4%87%E6%98%8E%E9%87%91%E8%8C%82%E5%87%AF%E6%82%A6%E9%85%92%E5%BA%97&display=%E5%B4%87%E6%98%8E%E9%87%91%E8%8C%82%E5%87%AF%E6%82%A6%E9%85%92%E5%BA%97%2C%20%E4%B8%8A%E6%B5%B7%2C%20%E4%B8%AD%E5%9B%BD&crn=1&adult=1&children=0&searchBoxArg=t&travelPurpose=0&ctm_ref=ix_sb_dl&domestic=1&");//设置请求头,将爬虫伪装成浏览器request.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36");

这时候就模拟浏览器访问到了这个页面

2.Jsoup进行解析具体要求爬的内容

我们这边是要获取酒店的评分
在这里插入图片描述
首先进入页面f12,然后用鼠标抓取评分,就会有score出来,这就是我们需要爬取的东西,接下来就是用代码的形式进行爬取。

                    Document document = Jsoup.parse(html);
//                    //像js一样,通过标签获取title//像js一样,通过id 获取元素对象Element postList = document.getElementById("ibu_hotel_container");//像js一样,通过class 获取列表下的所有scoreElements postItems = postList.getElementsByClass("score");System.err.println("----------------"+postItems);Elements titleEle = postItems.select(".score span[class='real font-bold']");System.err.println("评分:" + titleEle.text());

这样我们就成功的将酒店的评分爬取到了。


3.接下来我们就是将爬取的数据存入数据库中

为了方便观看,这里也将酒店的名称也爬取出来

     Elements nameItems = postList.getElementsByClass("list-card-title");for (Element nameItem : nameItems) {Elements titleEle01 = nameItem.select(".list-card-title span[class='name font-bold']");System.err.println("酒店名称:"+titleEle01.text());}

想要将数据存入数据库,我们首先需要编写一个pojo对象
为了更加方便直观的观看数据,我这里给数据加了id以及time

public class Lottery {@TableId(type = IdType.AUTO)private Integer id;private String name;private String score;@TableField(fill = FieldFill.INSERT)private String time;}

接着就是mapper

@Mapper
public interface LotteryMapper extends BaseMapper<Lottery> {
}

然后使用通用mapper就可以直接存入数据库

                    Document document = Jsoup.parse(html);
//                    //像js一样,通过标签获取title
//                    System.out.println(document.getElementsByTag("title").first());//像js一样,通过id 获取文章列表元素对象Element postList = document.getElementById("ibu_hotel_container");//像js一样,通过class 获取列表下的所有博客Elements postItems = postList.getElementsByClass("score");//循环处理每篇博客System.err.println("----------------" + postItems);Elements titleEle = postItems.select(".score span[class='real font-bold']");System.err.println("评分:" + titleEle.text());Lottery lottery = new Lottery();lottery.setScore(titleEle.text());Elements nameItems = postList.getElementsByClass("list-card-title");for (Element nameItem : nameItems) {Elements titleEle01 = nameItem.select(".list-card-title span[class='name font-bold']");System.err.println("酒店名称:" + titleEle01.text());
//                        Lottery lottery = new Lottery();lottery.setName(titleEle01.text());list.add(lottery);System.out.println("---------------------");}lotteryMapper.insert(lottery);

接下来看一下数据库中是否有数据
在这里插入图片描述
我们这里看一看到有成功爬取的数据。

总结

关于java爬虫的东西就到这里了,有不足之处还望指出来。


http://chatgpt.dhexx.cn/article/2H6Ggce2.shtml

相关文章

使用Jsoup爬虫爬取相关图片

一、Jsoup概述 jsoup 是一款Java 的HTML解析器&#xff0c;可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。 主要功能&#xff1a; 1. 从一个URL&#xff0c;文件或字符串…

jsoup爬虫实战详解之新浪

** jsoup爬虫实战详解之新浪 ** 今天分享一个之前困扰了一段时间的关于jsoup爬取新浪网页信息的踩坑总结。 在实现以上功能的之前我门首先要了解两个重点&#xff1a;1.关于jsoup的爬取细节以及教程&#xff0c;爬取时所要了解jsoup的相关标签&#xff1a;具体的自己大家感兴…

Java JSOUP爬虫学习分享

昨天从狂神大佬那学习了如何用jsoup爬去网站数据&#xff0c;现在整理了一下给大家分享一下。 先创建一个名叫JsoupPojo的实体类用来装入数据。 Data public class JsoupPojo {private String src;private String name; } 下面是将用来爬取的方法封装成了一个工具类 Compon…

java jsoup爬虫

前言&#xff1a;在日常开发中&#xff0c;我们必定是与我们的数据源打交道&#xff0c;我们的数据源无非就那么几个 1.数据库2.爬虫数据 3.第三方系统交互&#xff0c;这里介绍java 中网页版的爬虫jsoup的使用 1.首先导入我们的jar包 maven坐标如下 org.jsoup jsoup 1.13.1 c…

Jsoup爬虫并解析网页

Jsoup爬虫并解析网页 京东搜索 java&#xff0c;爬取有关java的商品信息 1、获取请求 String url"https://search.jd.com/Search?keywordjava";2、解析网页。&#xff08;Jsoup返回的Document对象就是浏览器的Document对象&#xff09; 所有js中操作Document对象的…

Jsoup爬虫入门实战

一、Jsoup介绍 jsoup 是一款基于 Java 的HTML解析器&#xff0c;它提供了一套非常省力的API&#xff0c;不但能直接解析某个URL地址、HTML文本内容&#xff0c;而且还能通过类似于DOM、CSS或者jQuery的方法来操作数据&#xff0c;所以 jsoup 也可以被当做爬虫工具使用。 相关…

Jsoup爬虫实例

一、简介 jsoup 是一款Java 的HTML解析器&#xff0c;可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。&#xff08;来源百度&#xff09; 二、准备 首先你需要找到一个你…

使用Jsoup实现网络爬虫

一、什么是Jsoup&#xff1f; jsoup是一款Java的HTML解析器、可以通过URL获取DOM元素并解析&#xff0c;也可对HTML文本内容进行解析&#xff0c;jsoup提供了一套非常简单的方法&#xff0c;类似于CSS、JQuery的操作方法对元素或者是数据进行操作。 二、Jsoup的特点及作用 从…

Java学习笔记:爬虫-用Jsoup解析网页

什么是爬虫 1、爬虫&#xff1a;程序代替人的人工操作&#xff0c;自动获取网页内容&#xff0c;并且从其中提取出来有价值信息。 2、原始&#xff1a;调用Http的类向服务器发出请求&#xff0c;获得HTML&#xff0c;然后用正则表达式等去分析。缺点&#xff1a;难度高。 3、…

jsoup爬虫

文章目录 1、jsoup爬虫简单介绍2、相关代码2.1导入pom依赖2.2、图片爬取2.3、图片本地化 3、百度云链接爬虫 1、jsoup爬虫简单介绍 jsoup 是一款 Java 的HTML 解析器&#xff0c;可通过DOM&#xff0c;CSS选择器以及类似于JQuery的操作方法来提取和操作Html文档数据。 这两个…

解析卷积神经网络学习笔记——魏秀参

第二章 CNN基本部件 1.理解批处理和随机梯度下降&#xff1a; 训练模型时随机选取n个训练样本作为一个batch&#xff08;批输入&#xff09;&#xff0c;那么经过设计好的卷积神经网络就可以输出n个预测值&#xff0c;对这n个预测值求其损失函数&#xff08;注意损失函数绝不是…

【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析

目录 Alex-Net 网络模型 VGG-Nets 网络模型 Network-In-Network 本文将以 Alex-Net、VGG-Nets、Network-In-Network 为例&#xff0c;分析几类经典的卷积神经网络案例。 在此请读者注意&#xff0c;此处的分析比较并不是不同网络模型精度的“较量”&#xff0c;而是希望读者…

2018年国内十大技术突破:22纳米光刻机、大型航天器回收

https://www.toutiao.com/a6639830026990649860/ 2018-12-28 08:11:39 盘点这一年的核心技术&#xff1a;22纳米光刻机、450公斤人造蓝宝石、0.12毫米玻璃、大型航天器回收、盾构机“弃壳返回”、远距离虹膜识别……哪一个不夺人眼球&#xff01; 1 智能水刀削铁断金 10月份的…

AI的螺旋式上升?今日头条AI掌门人马维英离职,“重返”清华从事培育科研工作

2020-07-29 01:22:49 作者 | 蒋宝尚 编辑 | 丛 末 据媒体报道&#xff0c;字节跳动副总裁、人工智能实验室主任马维英离职&#xff0c;将到清华大学智能产业研究院任职&#xff0c;加入正在筹备该产业院的原百度总裁张亚勤团队。 对于马维英离职一事&#xff0c;字节跳动也做…

超全深度学习细粒度图像分析:项目、综述、教程一网打尽

在本文中&#xff0c;来自旷视科技、南京大学和早稻田大学的研究者对基于深度学习的细粒度图像分析进行了综述&#xff0c;从细粒度图像识别、检索和生成三个方向展开论述。此外&#xff0c;他们还对该领域未来的发展方向进行了讨论。 &#xff08;CV&#xff09;是用机器来理解…

机器学习防止模型过拟合的方法知识汇总

目录 LP范数L1范数L2范数L1范数和L2范数的区别DropoutBatch Normalization归一化、标准化 & 正则化Reference 其实正则化的本质很简单&#xff0c;就是对某一问题加以先验的限制或约束以达到某种特定目的的一种手段或操作。在算法中使用正则化的目的是防止模型出现过拟合。…

一文读懂机器学习中的正则化

正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。当我们用较为复杂的模型拟合数据时,容易出现过拟合现象,导致模型的泛化能力下降,这时我们就需要使用正则化,降低模型的复杂度。本文总结阐释了正则化的相关知识点,帮助大家更好的理解正则化这一概念。 目录 L…

漆远离职阿里加盟复旦!大牛纷纷回归学界,大厂AI名存实亡?

来源丨新智元 编辑丨小咸鱼 好困 【导读】蚂蚁金服原副总裁、AI团队负责人漆远已于近日离职&#xff0c;出任复旦大学「浩清」教授&#xff0c;复旦人工智能创新与产业研究院院长。将从事深度学习、强化学习等人工智能领域的前沿研究和应用。 那个支付宝背后的AI大牛&#xff0…

正则化方法归纳总结

作者丨Poll 来源丨https://www.cnblogs.com/maybe2030/p/9231231.html 编辑丨极市平台 本文仅用于学术分享,如有侵权请联系后台删文 导读 本文先对正则化的相关概念进行解释作为基础&#xff0c;后对正则化的方法进行了总结&#xff0c;帮助大家更加清晰的了解正则化方法。 阅…

阿里副总裁、达摩院自动驾驶负责人王刚离职!

转载自&#xff1a;新智元 | 编辑&#xff1a;桃子 好困 【导读】从学界「跨界」互联网&#xff0c;再转身去创业。这一年&#xff0c;他40岁&#xff0c;依然选择挑战自我。消息称&#xff0c;阿里副总裁、达摩院自动驾驶实验室负责人王刚已于近日离职。阿里&#xff0c;是他的…