Jsoup爬虫的基本使用
什么是Jsoup?
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据(简称爬虫)。
基本使用
新建一个maven项目
<dependencies><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.0.1</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.4</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>1.4</version></dependency><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>compile</scope></dependency>
</dependencies>
测试类
@Testpublic void test111() throws Exception{// 1、爬取的urlString targetUrl = "https://zhipeng0908.gitee.io";
// 2、获取connection,CrawlerUtil工具类在下方Connection connect = CrawlerUtil.getConnection(targetUrl);
// 4、执行Connection.Response response = connect.method(Connection.Method.GET).execute();
// 5、处理爬虫结果
// 得到domDocument document = response.parse();
// <body></body>Element bodyElement = document.body();// .post-header为这个html中一个div的类名
// Elements 类继承了ArrayList类Elements cardElement = bodyElement.select(".post-header");
// 处理结果,获得文本内容for (Element blog : cardElement) {Elements titleElement = blog.select(".post-title");String title = titleElement.text();Elements timeElement = blog.select(".post-meta > span.post-time > time");String time = timeElement.text();Elements linkElement = blog.select(".post-title-link");String link = linkElement.attr("href");System.out.println("博客标题:"+title + "\t" + "url:" + (targetUrl+link) + "\t"+"发布时间:"+time);}}
工具类
public static Connection getConnection(String targetUrl){Connection connect = Jsoup.connect(targetUrl);
// 3、伪造请求头connect.header("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");connect.header("Accept-Encoding","gzip, deflate, br");connect.header("Accept-Language","zh-CN,zh;q=0.9");connect.header("Cache-Control","no-cache");connect.header("Connection","keep-alive");connect.header("Cookie","_ga=GA1.2.2130438396.1588431092; Hm_lvt_ec661610f14acf2457496da3a87d804d=1588840665,1589378478; Hm_lpvt_ec661610f14acf2457496da3a87d804d=1589378528");connect.header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36");return connect;}
结果
Jsoup爬虫的基本使用相关推荐
- jsoup爬虫教程技巧_Jsoup V的幕后秘密:优化的技巧和窍门
jsoup爬虫教程技巧 我们已经把事情做好了,现在是时候加快工作速度了. 我们会牢记Donald Knuth的警告:"大约97%的时间我们应该忘记效率低下:过早的优化是万恶之源". ...
- jsoup爬虫技术精通_精通业务的同时保持技术的3种方法
jsoup爬虫技术精通 上周,我很幸运地参加了2017年红帽峰会 . 我们与客户,分析师和记者举行了无数次会议和情况介绍会. 在会议之间走动时,我开始思考一个挑战,这对许多技术人员来说是一个挑战,因为 ...
- jsoup爬虫,爬取全站代码
最近使用jsoup扒了几个网站,感觉bug改的差不多了,于是写出来与大家分享. 首先我会把爬虫基础的爬取思路与部分重要方法展示出来,最后我会把全部代码贴出来.并且我会写一个Main类,里面就是爬虫的模 ...
- jsoup爬虫简书首页数据做个小Demo
代码地址如下: http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固 ...
- java使用jsoup爬虫入门
一.maven项目里pom添加jsoup依赖 <dependency><groupId>org.jsoup</groupId><artifactId>j ...
- Android 通过okhttp + jsoup 爬虫爬取网页小说
Android 通过okhttp + jsoup 爬虫爬取网页小说 效果图 1.准备工作 测试地址:http://www.tlxs.net 第三方依赖: implementation 'com.squ ...
- Java+Jsoup爬虫小红书
源码链接:https://pan.baidu.com/s/1oOAxJqSMCyVJPNv-iAYW7A 提取码:1co9 Java+Jsoup爬虫小红书,微博,B站 爬取地址:https://www ...
- 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo
简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...
- 利用java的JSoup爬虫技术爬取网页信息
简单讲解java的Jsoup爬虫技术来爬取网页的数据,简单来讲就是解释网页,一般学过xml的人都很容易理解. 第一步:我们要爬取网页的静态内容必须要了解网页的源码,也就是div之类的标签,因为我们是靠 ...
- Java+Jsoup爬虫微博
源码链接:https://pan.baidu.com/s/1oOAxJqSMCyVJPNv-iAYW7A 提取码:1co9 Java+Jsoup爬虫小红书,微博,B站 爬取地址:https://wei ...
最新文章
- Leangoo自定义字段
- Delphi - 我的代码之窗体移动
- MATLAB表白利器
- MySQL 隐式类型转换导致条件等号的异常
- ssl1197-质数和分解【dp练习】
- 盒模型的属性丶display显示丶浮动
- bootstrap,datetimepicker日期时间选择器-限制时间段,以及中文显示问题
- 失业几个月找不到工作是一种怎样的体验?
- 《编码规范和测试方法——C/C++版》作业 ·004——设计一个顺序表
- python常用方法_python常用方法(持续更新)
- 测试用例(等价类划分法)
- 与柯尼汉谈丹尼斯·里奇
- 全面向新能源转型 透过柠檬混动DHT了解长城汽车森林式生态体系
- 卢亮/明珠的博客吧开张了……
- c语言程序已知两点求一般式方程,已知两点求直线方程一般式
- 2827: 千山鸟飞绝 非旋treap
- MST++: Multi-stage Spectral-wiseTransformer for Efficient Spectral Reconstruction
- 【Java基础】类的具体细节
- 微信小程序动态倒计时
- php eos,EOS区块链PHP开发包
热门文章
- ERROR Error loading vue.config.js: ERROR Error: Command failed: git describe --always报错可能的原因
- (美)梅耶(Myers, G. J.) 等《软件测试的艺术(原书第3版)》书籍(第3版)
- Linux系统 / Ubuntu16.04系统下安装QQ/TIM软件
- 推荐计算机科学类的经典书籍
- FileUtils工具类常用方法
- CAD迷你看图常见使用问题与解答
- 笔记本Windows7系统安装教程
- JeDate日期控件,未选择日,出现undefined错误
- 唐宇迪学习笔记17:支持向量机
- python:坦克大战源代码