使用jsoup轻松爬数据
刚刚学习爬虫,感觉使用jsoup爬虫挺容易的。记录一下自己爬取数据的过程。
Jsoup介绍:
Jsoup 是一个 Java 的开源HTML解析器,可直接解析某个URL地址、HTML文本内容。使用Jsoup首先需要引入Jsoup.jar包或者添加依赖,可以到Jsoup官网查看。
elements类相当于网页元素中的标签,而select()方法用于按一定条件选取符合条件的标签,组成符合条件的标签数组。element支持转成字符串或者文本等。总之功能很强大。只需要了解一下select()方法的过滤规则即可上手用了。但是有了谷歌浏览器!过滤规则都不用管了,直接上手用!
来个简单的示例:
爬取一下我们平时使用百度搜索的网页,首先用谷歌浏览器打开百度网页,打开开发者模式(快捷键ctrl+shift+I)。
右键点击代码行,copy–>copy selector
可以贴出来看看copy到的东西:
head > title
表明了目标在网页代码中的位置,每个>前后面都代表一个检索条件。那么我们要得到这个标签,只要这样写:
String URL="https://www.baidu.com/"; //目标网址
Document doc=Jsoup.connect(URL).get();
//在下载的document里进行检索的语句
Elements test=doc.select("head").select("title");
//这样test标签就是我们最开始右键单击检查的标签
String str=test.toString();//将标签转化成字符串
String text=test.text();//将标签里的文本提取出来
System.out.println(str);
System.out.println(text);
运行结果:
<title>百度一下,你就知道</title>
百度一下,你就知道
使用jsoup轻松爬数据的更多相关文章
- 【java爬虫】---爬虫+jsoup轻松爬博客
爬虫+jsoup轻松爬博客 最近的开发任务主要是爬虫爬新闻信息,这里主要用到技术就是jsoup,jsoup 是一款 Java的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非 ...
- 爬虫爬数据时,post数据乱码解决办法
最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler. F ...
- 让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本
让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本 运用Excel2Json2Object插件将xml表格转为Object导入脚本 下载地址 ...
- 爬虫爬数据时,post数据乱码解决的方法
近期在写一个爬虫,目标站点是:http://zx.bjmemc.com.cn/.可能是为了防止被爬取数据,它给自身数据加了密. 用谷歌自带的抓包工具也不能捕获到数据. 于是下了Fiddler. ...
- WebMagic使用代理ip爬数据解决HTTP407问题
手头一个小活儿是爬竞品网站数据.使用webmagic来实现.光公司ip不行,被封了就会影响业务正常访问.刚好公司另一个项目购买了代理IP资源“站大爷”,那个项目夭折了,于是申请借来用用. 调通站大爷提 ...
- python是什么?工作前景如何?怎么算有基础?爬数据违法嘛......
随着python越来越火爆并在2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,且置于Java.C和JavaScript之上,于是越来越多的人开始了解python ...
- Java使用Jsoup之爬取博客数据应用实例
导入Maven依赖 <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> <g ...
- 一个月入门Python爬虫,轻松爬取大规模数据
Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,让爬虫变得 ...
- CSDN Androidclient开展(两):基于如何详细解释Java使用Jsoup爬行动物HTML数据
文章引用鸿扬大大的链接具体介绍怎样使用Jsoup包抓取HTML数据,是一个纯javaproject,并将其打包成jar包.希望了解怎样用java语言爬虫网页的能够看下. 杂家前文就又介绍用HTTP訪问 ...
随机推荐
- 20165215 2017-2018-2《Java程序设计》课程总结
20165215 2017-2018-2<Java程序设计>课程总结 一.每周作业链接汇总 预备作业1:我期望的师生关系:令我记忆深刻的老师,期望的师生关系,本学期的学习规划. 预备作业二 ...
- js 简单的进度条
html部分 <div id='div1'> <div id="div2"></div> </div> css部分 div{ hei ...
- java SE学习过程中的知识点小结(一)(很多内容过于基础,希望能帮助到学习路上的同学)————欢迎老手批评指正
①.把boolean测试放在括号内:例如while(x==4){} //当然看过很多博客,里面有工作经验的工作者说以后公司可能习惯性写(4==x) ②.所有java程序都定义在类中(也是区别于C++ ...
- CAN control
2019/4/23--10:14 E_BSW_NWK_TRIGGER_SOURCE_KICK_MOTION_CMD SCI_NwkButton_GetPeriodicSignals case 6: ...
- PhpStorm 2017破解
最新版PhpStorm 2017正式版改进了PHP 7支持,改进代码完成功能. PhpStorm 是最好的PHP开发工具,使用它进行PHP开发将会让你感觉到编程的乐趣. 快乐无极终于从oschina看 ...
- Yii1自定义 CGridView 中的操作按钮中 CButtonColumn 选项
Yii可以使用CButtonColumn自定义按钮及列样式. 效果展示 <?php $this->widget('zii.widgets.grid.CGridView', array( ' ...
- Java基础学习-常用的dos命令
打开控制台(win+R,然后cmd回车) 常用命令: d:回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 cd( ...
- SELinux/SEAndroid 实例简述(二) TE语言规则【转】
本文转载自:https://blog.csdn.net/shell812/article/details/54930246 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...
- innoDB锁小结
innodb的锁分两类:lock和latch. 其中latch主要是保证并发线程操作临界资源的正确性,要求时间非常短,所以没有死锁检测机制.latch包括mutex(互斥量)和rwlock(读写锁). ...
- NVIDIA 驱动安装(超详细)
目录 1. 删除原有驱动 2. 安装依赖 3. 禁用nouveau驱动: 4. reboot 5. 获取kernel source (important) 6. 关掉x graphic 服务 7. 安 ...