学习Jsoup(一)
听同学说Jsoup用来做爬虫非常好用,而且它的selector几乎能够代替正则,对于苦苦学习爬虫技术的我,简直就像天上掉下的馅饼。
我现在想解决的第一个问题是,提取文章所在的地址。需要用到的技术有:
一、用正则抽取符合条件的html语句;
二、在语句中筛选出地址;
三、在语句中筛选出文章的标题。
解决办法:
一、使用Jsoup的selector
http://jsoup.org/apidocs/中的selector
其中这句能够解决问题
语句 解释 例子
[attr~=regex]
|
elements with an attribute named "attr", and value matching the regular expression |
img[src~=(?i)\\.(png|jpe?g)]
|
The above may be combined in any order |
div.header[title]
|
我的例子:select("a[title~=讲话]")意思是a标签后面包括了“讲话”的title。
二、在语句中筛选出地址
我用的是attr("href"),把href后的链接地址抓出来,用attr(abs : href )就能够得出绝对地址。
参考http://www.open-open.com/jsoup/attributes-text-html.htm
三、在语句中抓文本
用text()方法,参考如上。
今天先写到这里,大家一起讨论吧。
学习Jsoup(一)相关推荐
- 记录学习Jsoup时第一次创建Maven项目时的报错(No marketplace entries found to handle maven-compiler-plugin:3.1)
因为自学Java网络爬虫技术的需要,因此在初次学习Jsoup并接触Maven项目的创建时,博主遭遇了很多的问题. 1.首先是在创建Maven项目时,如果在文件保存的工作目录内出现同名文 ...
- 学习Jsoup(三)
从数据库中读出文档地址,并把地址中的文件装入数据库 这段时间还在研究这个JSOUP,对于一个缺乏网络基础的我来说,确实还得从头学起. 要掌握JSOUP,首先要对HTML和网页知识有清晰的了解,特别是D ...
- 学习Jsoup(二)
今天的问题: 一.构建数据表,装入文档中文名称和地址 我设计了一个库,id 自增量:name varchar 255:adress varchar 255: 二.将网上的文档名称和地址装入数据表 in ...
- Java基础学习经验分享
很多人学习Java,尤其是自学的人,在学习的过程中会遇到各种各样的问题以及难点,有时候卡在一个点上可能需要很长时间,因为你在自学的过程中不知道如何去掌握和灵活运用以及该注意的点.下面我整理了新手学习可 ...
- Android实战——jsoup实现网络爬虫,糗事百科项目的起步
Android实战--jsoup实现网络爬虫,爬糗事百科主界面 本篇文章包括以下内容: 前言 jsoup的简介 jsoup的配置 jsoup的使用 结语 前言 对于Android初学者想要做项目时,最 ...
- 使用 jsoup 对 HTML 文档进行解析和操作
简介: jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方 ...
- java pa——jsoup使用教程
目录 一.jsoup入门 1.1 org.jsoup.Jsoup类 1.2 org.jsoup.nodes.Document类 1.2.1 DOM 1.2.2 CSS选择器 1.3 org.jsoup ...
- Android应用开发-小巫CSDN博客客户端Jsoup篇
Android应用开发-小巫CSDN博客客户端Jsoup篇 距上一篇博客已经过去了两个星期,小巫也觉得非常抱歉,因为在忙着做另外一个项目,几乎抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本篇博客 ...
- jsoup 对 HTML 文档进行解析和操作
使用 jsoup 对 HTML 文档进行解析和操作 使用 jsoup 对 HTML 文档进行解析和操作 jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser ...
最新文章
- 将批注用于类型化 DataSet (摘自MSDN)
- 基于ADuC845的数据采集板
- leetcode 397. Integer Replacement | 397. 整数替换(动态规划,记忆化搜搜)
- 不裁员也好意思叫互联网公司?
- html网页版国际象棋,棋友推荐的十五大国外国际象棋网站
- Java 参数类型后面三个点,可变参数列表
- ubuntu18.0.4 无线网卡无法上网解决!
- To_Heart—题解——POI2012 Rendezvous
- RedisDesktopManager(Redis可视化工具)
- [BZFZ友谊赛]火山喷发
- linux外网服务器跳转内网服务器实现内网访问(iptables)
- 3D目标检测-BEVFormer、BEVDepth
- 数字证书认证机构(摘录自wiki百科)
- seewo一键投屏在mac电脑上的使用方法
- Maxima符号计算系统简介
- c语言编程中精度eps是什么,c语言eps是什么意思
- 简单的git基本命令
- H5+CSS初级试题
- Android 8.1 中Systemui中的常见修改(六)NavigationBar加载流程
- XML之文档类型定义和合法性(转)