千家信息网

怎么使用Java爬虫来对比某东上的数据

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容介绍了"怎么使用Java爬虫来对比某东上的数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年01月21日怎么使用Java爬虫来对比某东上的数据

本篇内容介绍了"怎么使用Java爬虫来对比某东上的数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Java如何做爬虫

大家在想到爬虫的时候,一定想说,爬虫,这东西不是学Python的人员才能做的么?我们Java能做呢?阿粉想告诉大家的是,可以,Java语言这么多年,历时这么久,怎么可能没有这些内容呢,于是阿粉就开始了学习了 Java 的爬虫道路。

Jsoup

阿粉在介绍这个类之前,肯定先得说说我们通常看到的内容是由什么组成的,现在比如说我们做开发的都知道,至少我们在电脑端访问某东,某宝的数据的时候,他们给我们反馈的数据都是通过 HTML 来进行展示的,比如说这个样子:

在开发的肯定都是知道,这些都是些什么意思,阿粉在这里我们就不再进行详细的介绍,说这个 HTML 到底是个啥东西了,阿粉需要介绍的是 Jsoup ,然后告诉大家怎么使用 Jsoup 这个类爬取京东的数据。

正如官方文档所给我们提示的内容,怎么去解析一段 HTML 代码 :

String html = "First parse"   + "

Parsed HTML into a doc.

"; Document doc = Jsoup.parse(html);

而这个 Document是什么呢?我们可以输出一下看一眼,顺带着看看源码解释,毕竟嘛,开发人员不看这个类是干嘛的,就不是个合格的程序员不是,

输出内容:

     First parse       

Parsed HTML into a doc.

其实可以看出这里,Document实际上是给我们输出了一个新的文档,而且是整理之后的,相当于为之后的分析 HTML 做了专业的准备。

而我们在看源码的注释的时候,不难看出,Jsoup不单单是能解析我们给的这个字符串,还可以是一个URL,也可以是一个文件。

它把我们给他的 HTML 字符串转换成了一个对象,这个对象就是我们上面看到的 Document,然后我们就可以顺利成章的去使用 Document 对象里面的元素了。

上面是解析字符串,那我们看下面这个解析 URL 的存在:

public static void main(String[] args) {        try {            Document doc = Jsoup.connect("https://www.jd.com/?cu=true&utm_source=baidu-pinzhuan&utm_medium=cpc&utm_campaign=t_288551095_baidupinzhuan&utm_term=0f3d30c8dba7459bb52f2eb5eba8ac7d_0_f38cf584e9fb4328a3e0d2bb515e1458").get();            String title = doc.title();            System.out.println(title);        }catch (IOException e){            e.printStackTrace();        }    }

大家执行以下的话,就一定能够看到这个 title 到底是什么,而结果是这个样子的:

和我们在百度搜索的时候是不是不太一样了,因为这个是进入之后的主页。

Element

而在我们看源码的时候,我们能清晰的看到,Document 是继承了 Element 的类,那么必然可以调用 Element 里面的方法,比如说:

getElementById(String id); //是不是有点眼熟,像不像Js里面的ID选择器  getElementsByTag(String tagName);// 通过标签来选择  getAllElements();//获取所有的Element的元素

关于方法,阿粉就不再一一的进行叙述了,大家有兴趣的可以去看看官方文档,或者去看看这个源码,包名送上 package org.jsoup.nodes

有人肯定开始烦了,说阿粉,你就别介绍了,那你说了太多废话了,赶紧介绍爬京东,好的,这就开始,

我们在爬取之前肯定先分析京东的网址,比如说我搜索硬盘:

下面就出来了一堆数据,而我们则需要解析的就是在 HTML 种最有用的那一部分,比如:

879.00

在这里我们就记下了这个价格,然后我们去找我们要的名字

看,p-name就是我们需要的名字,那么我们就可以写代码了。

//这是京东的搜索网址,我们把这个keyword关键词提取出来,注意中英文,中文要处理一下    String url = "https://search.jd.com/Search?keyword=" + keyword;    url = url + "&enc=utf-8";    Document document = Jsoup.parse(new URL(url), 40000);       //我们先找这个 List,然后一层一层的遍历    Element element = document.getElementById("J_goodsList");    Elements elements = element.getElementsByTag("li");    for (Element el : elements) {        String img = el.getElementsByTag("img").eq(0).attr("source-data-lazy-img");        String price = el.getElementsByClass("p-price").eq(0).text();        String title = el.getElementsByClass("p-name").eq(0).text();        String shop = el.getElementsByClass("p-shop").eq(0).text();           System.out.println("=========================");           System.out.println("标题:" + title);           System.out.println("图片url:" + img);           System.out.println("店铺:" + shop);           System.out.println("价格:" + price);     }

大家看执行的效果图:

"怎么使用Java爬虫来对比某东上的数据"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 爬虫 内容 时候 比如说 源码 京东 肯定 输出 字符 字符串 对象 就是 文档 开发 搜索 东上 东西 人员 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 毕业五年后想从事软件开发 网络安全漂亮的手抄报文字少 连云港银联软件开发 联想rd 540服务器 网络安全责任制考核评价实施办法 广州服务器运维服务价格 博罗求职软件开发 应用系统网络安全方案 护苗网络安全课堂之三 邵阳计算机网络技术培训机构 形成数据库实验报告 计量采集 网络安全 浏览器中怎么关闭代理服务器 中国银行数据库管理 未成年人网络安全教育刻不容缓 网络安全审查办法 2022版 网络安全审计有哪些常见的功能 软件开发累不 如下哪一个代表数据库管理员 金山软件开发部待遇 网络安全应届生月薪 省科技厅工业互联网领域技术创新 计算机和网络技术应用特点 运营商的网络安全压力 计算机网络技术就业方向和工资 数据库有哪三种类 客户端和服务器的区别 广西会计软件开发 做esxi 需要几台服务器 智能化施工及软件开发合同
0