java之jsoup爬虫操作入门实战
在我目前看来,对于爬虫的理解就是,在浏览器上输入一个url的时候,会发现是生成一些前端的代码界面,从而显示出来的。而爬虫就是获取这些前端界面,再进行对界面的筛选和使用。
“获取请求返回的页面信息,筛选出我们需要的数据”
参考了这份学习视频:https://www.bilibili.com/video/BV1La4y1x7Wm
所以这里用java来进行对页面的调用。
这里我使用了jsoup包,
首先是需要导入jsoup包的依赖
(它是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数)
<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version>
</dependency>
在看一些审查元素:
会发现这个就是我们要找的,div就是
再看看等下要获取的li元素
以及li下面的每一个标签
由于jd这个懒加载的问题没有解决,所以换成了另一个网站,结果还是一样的呢
package PaChong;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;public class HtmlParseUtil {public static void main(String[] args) throws IOException {//首先是获取网页 以京东的网页为例https://search.jd.com/Search?keyword=javaString url="http://search.dangdang.com/?key=java&act=input";//再是需要解析网页,就需要使用jsoup,参数一个是url 一个是时间//而这个返回的Document 就是页面对象Document parse = Jsoup.parse(new URL(url), 30000);//所以这里就可以根据id来获取了Element j_goodsList = parse.getElementById("search_nature_rg");//这里可以查看一下是否能获取到// System.out.println(j_goodsList.html());//然后就是获取所有的li元素,调用的是tag方法,其实很好奇,为什么这边是elements呢,可以是因为Elements li = j_goodsList.getElementsByTag("li");//然后再获取这些标签下的内容for(Element elements:li){//这里的elements就是一个个独立标签了,也就是每一个li//比如获取图片,eq就是取第一个就行了//为什么不能直接是类呢String img=elements.getElementsByTag("img").eq(0).attr("src");//String img = elements.getElementsByTag("source-data-lazy-img").eq(0).attr("src");//然后还有是价格,而价格从代码上看就是一个类,选第一个元素,而且转换成text格式String price = elements.getElementsByClass("price").eq(0).text();//还有标题String name = elements.getElementsByClass("name").eq(0).text();//还有一些细节String detail=elements.getElementsByClass("detail").eq(0).text();//然后就可以输出了System.out.println("=========================");System.out.println(img);System.out.println(price);System.out.println(name);System.out.println(detail);}}}
java之jsoup爬虫操作入门实战相关推荐
- Python3网络爬虫快速入门实战解析
Python3网络爬虫快速入门实战解析 标签: python网络爬虫 2017-09-28 14:48 6266人阅读 评论(34) 收藏 举报 分类: Python(26) 作者同类文章X 版权声明 ...
- Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫)
Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫) https://blog.csdn.net/u012662731/article/details/78537432 出 ...
- Java 定时任务调度(8)--ElasticJob 入门实战(ElasticJob-Lite使用)
ElasticJob 是一个分布式调度解决方案,由 2 个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成.本文主要介绍 ElasticJob-Lite 的 ...
- python3 爬虫实例_【实战练习】Python3网络爬虫快速入门实战解析(上)
原标题:[实战练习]Python3网络爬虫快速入门实战解析(上) 摘要 使用python3学习网络爬虫,快速入门静态网站爬取和动态网站爬取 [ 前言 ] 强烈建议:请在电脑的陪同下,阅读本文.本文以实 ...
- Python教程:网络爬虫快速入门实战解析
建议: 请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 网络爬虫简介 网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地址(URL)爬取网页内容,而网页地址( ...
- Python3 网络爬虫快速入门实战解析
点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...
- 利用java的JSoup爬虫技术爬取网页信息
简单讲解java的Jsoup爬虫技术来爬取网页的数据,简单来讲就是解释网页,一般学过xml的人都很容易理解. 第一步:我们要爬取网页的静态内容必须要了解网页的源码,也就是div之类的标签,因为我们是靠 ...
- Java MapReduce 基本计算操作实现实战
Java MapReduce 基本计算操作实现实战 特别注意: 1.在运行代码的过程中注意自己本地Hadoop版本必须与服务器版本一致,否则会出现许多意向不到的问题; 2.数据之间不能有空行间隔; ...
- beautifulsoup网页爬虫解析_Python3 网络爬虫快速入门实战解析
点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...
最新文章
- python 搜索引擎Whoosh中文文档和代码 以及jieba的使用
- java gbk汉字 10进制,用java程序将GBK字符转成UTF-8编码格式
- 2021华为杯建模---总结
- Android 开发总结大全
- 句句真研—每日长难句打卡Day3
- Self-Supervised Curriculum Learning for Spelling Error Correction
- linux opendir php,php目录遍历函数opendir用法实例
- 【数字信号处理】基于matlab GUI IIR低通+FIR高通信号时域+频谱分析【含Matlab源码 1029期】
- 爱克发胶片_AGFA爱克发C7工业X射线胶片 工业胶片(图)
- Java指定屏幕区域截屏
- 符号Symbol介绍及应用
- Matlab中统计灰度值出现的次数
- PMIC驱动之—PMIC硬件相关知识
- 稳定的围棋服务器,中国古典围棋服务器对奕说明
- iOS 开发者必知的 75 个工具
- 将文件从VMWare虚拟机的Linux系统传到U盘
- 二维数组malloc与free
- APK部署手机上出现闪退现象
- 去角质剂和磨砂膏行业调研报告 - 市场现状分析与发展前景预测
- KMP字符串模式匹配