爬虫中的groovy脚本
来源:互联网 发布:记忆宫殿知乎 编辑:程序博客网 时间:2024/05/18 00:03
1.使用select()方法在页面上选择我们需要的信息
def document = page.getHtml().getDocument();//这里的page是webmagic中的一个Page对象
在
<div id="aa">
<span class="bb">
爬虫中的groovy脚本
</span>
</div>
如果想要获取这个标签的正文内容,有以下方法:
- document.select("div#aa").text()
- document.select("div#aa>span") .text()
- document.select("span.bb").text()
如果想要获取这个完整的标签(包括标签和文本):
- document.select("div#aa").toString()
2.使用正则表达式来匹配文本并截取所需要的信息
- 在groovy主要使用"=~/regex/"来匹配,比如说msg=“开始-需求信息-结尾”,想要截取“需求信息”,则使用:def aa = (msg=~/开始(.+)?结尾/)[0][1] //这里可以将匹配后的结果视为一个二维数据
- 匹配日期时间类型:比如msg = "2015-7-9 13:30" 使用(msg=~/\d{4}-\d{1,2}-d{1,2} \d{1,2}:d{1,2} /)[0]就可以匹配到"2015-7-9 13:30",当然如果要把它转换成dateTime类型的话,还要用到SimpleDateFormat类的parse()和format()方法来转换
3.使用xpath来获取所需要的信息
有时候,我们发现一些标签只有style属性,没有id,class属性,这就不能使用select()函数了,因为select()中的参数都是css样式选择器,这个时候,我们发现xpath就很好用了
比如说
<table sytle="width:100px">
<tbody>
<tr><td>
使用xpath来获取所需要的信息
</td></tr></tbody>
</table>
我们可以使用page.getHtml().xpath("//talbe[@sytle=width:100px]").all()来获取这个table标签
我们可以使用page.getHtml().xpath("//talbe[@sytle=width:100px]").all()来获取这个table标签
*因为刚开始用xpath,不是很熟练,没有什么好的建议(可以看看W3CSchool的帮助文档有介绍)
4.使用其他的一些方法来去掉多余的信息
- replacAll(String regex,String str)
0 0
- 爬虫中的groovy脚本
- groovy脚本
- 关于Groovy脚本
- Groovy-java 脚本2
- groovy脚本使用map
- grails调用groovy脚本
- Groovy脚本学习
- groovy调用脚本方法
- Groovy脚本热更新
- gradle-groovy脚本
- Groovy脚本-正则表达式
- nGrinder 的 Groovy 脚本使用指南(Groovy 脚本结构)
- Groovy 脚本接受命令行参数
- java中调用groovy脚本
- JAVA嵌入运行Groovy脚本
- groovy 速学 - 03 - 脚本
- JAVA嵌入运行Groovy脚本
- JAVA嵌入运行Groovy脚本
- 274 正三角形的外接圆面积
- 第四节GCC编译器
- viewpager无限左右滑动
- operator= 要注意避免内存泄露(项目经验)
- 第五节GDB使用
- 爬虫中的groovy脚本
- TCP/IP 是用于因特网 (Internet) 的通信协议。
- 复习整理4
- 获取UUID两种方法,并让UUID唯一的方法
- 第六节多文件项目管理
- Linux tcpdump命令详解
- 第七节 linux c的基本应用
- 【面试题】-反转句子
- [Phonegap+Sencha Touch] 移动开发5、Sencha touch结合Phonegap使用