WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。
采用HttpClient可以实现定向的爬虫,也可以自己编写算法逻辑来实现多线程,创建链接池,自动解析网页代码获取请求链接,封装正则表达式等等。
但是如果使用框架,就不再需要考虑爬虫的逻辑,只需要专注HTML内容的解析和获取。
引用WebMagic后写一个爬虫只需要编写一个类实现PageProcessor接口,实现两个方法。
一个WebMagic例子
这个例子里实现了一个getSite方法,用来获取抓取网站的相关配置,包括:编码、抓取间隔、重试次数等
还实现了一个process方法,里面除了写文件的部分,就只有一个page.addTargetRequests(),它是用来为链接池添加爬虫需要的链接,当爬虫线程开启后,每个线程会到链接池中取链接,当链接池为空,爬虫结束。
即将所有符合"http:blog.csdn.net?&page=数字"的链接放入链接池中
例子中可以看到page.getHtml()即获取页面上HTML内容,在此基础上用xpath就可以取得其中想要的数据
xpath是一种HTML标签元素的路径表达方式
可以采用xpath的方式获取链接池链接
使用xpath获取页面中想要的数据