webmagic爬虫
webmagic是java平台下一个强大的爬虫工具,它提供了一整套爬虫逻辑,用户只需修改对应的组件便可爬取到自己想要的信息。
本次以西电学术讲座网为例,进行一次信息及图片的爬取,并持久化到数据库中。西电学术讲座网址为:http://meeting.xidian.edu.cn/html/lectures/
一、基础知识
要想做好爬虫需要对网页结构、js、正则表达式等需要了解。但最爬取一些比较简单的网页,只需要了解一下简单的正则匹配规则就可以了。
1.1 正则匹配规则
正则匹配是一个比较简单的语法,在这里只介绍常用的几种。
字符 | 描述 | 举例 |
---|---|---|
* | 匹配前面表达式零次或多次 | mz*可以匹配m 或 mzz |
+ | 匹配前面表达式一次或多次 | mz+匹配mz 或 mzz |
? | 匹配前面表达式零次或一次 | mz?匹配mz 或 m |
{n} | 匹配前面表达式n次 | mz{3}匹配 mzzz |
{n,m} | 匹配前面表达式n-m次 | mz{1,3} 匹配 mz 或 mzz 或 mzzz |
{n,} | 至少匹配n次 | mz{1,} 匹配mz mzz mzzz… |
[0-9] | 范围匹配 | [0-9] 匹配 0,1,2,3,4,5,6,7,8,9, |
() | 表达式开始和结束的位置 | mz(*+?)kk 匹配mz 和 kk中间的字符串并输出 |
\d | 匹配数字 | \d+ 匹配一串正数 |
\s | 匹配字符 | \s 匹配空格 回车 换表符等空白字符 |
等等等等…
这里提供一个教程链接http://www.runoob.com/regexp/regexp-tutorial.html
1.2 webmgaic中的正则匹配
webmagic支持正则匹配规则,同时也提供了Xpath、CSS等匹配工具
具体API暂时忽略