webMagic爬虫抓取某个博客全部文章名称
来源:互联网 发布:java线程sleep函数 编辑:程序博客网 时间:2024/04/30 10:39
demo下载地址:点击打开链接
官方文档:点击打开链接
主要类:
package testMagic;import java.util.List;import javax.management.JMException;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.monitor.SpiderMonitor;import us.codecraft.webmagic.pipeline.ConsolePipeline;import us.codecraft.webmagic.processor.PageProcessor;/** * PageProcessor是webmagic-core的一部分,定制一个PageProcessor即可实现自己的爬虫逻辑。 * 以下是抓取csdn博客的一段代码 */public class OschinaBlogPageProcesser implements PageProcessor {private Site site = Site.me().setSleepTime(1);public Site getSite() {return site;}int temp=1;//process(过程)public void process(Page page) {//通过page.putField()来保存抽取结果//page.getHtml().xpath()则是按照某个规则对结果进行抽取,这里抽取支持链式调用List<String> pages=page.getHtml().xpath("[@class='pagelist']").links().all();if (pages.size()>5) {pages.remove(pages.size()-1);}page.addTargetRequests(pages);//用于获取所有满足"(http://blog\\.csdn\\.net/u012012240/article/month/2016/08/\\d+)"这个正则表达式的链接//区分是列表页面还是信息页面if (page.getUrl().regex("article/list").match()) {List<String> links = page.getHtml().xpath("[@class='link_title']").links().regex("http://blog\\.csdn\\.net/chenyufeng1991/article/details/\\d+").all();//通过page.addTargetRequests()方法来增加要抓取的URLpage.addTargetRequests(links);}else {System.out.println("记录数:"+temp++);page.putField("title", page.getHtml().xpath("//[@class='link_title']/a/text()").toString());}}//执行这个main方法,即可在控制台看到抓取结果。webmagic默认有3秒抓取间隔,请耐心等待。public static void main(String[] args) {//Spider是爬虫的入口类,addurl为入口urlSpider oschinaSpider = Spider.create(new OschinaBlogPageProcesser()).addUrl("http://blog.csdn.net/CHENYUFENG1991/article/list/1")//Pipeline是结果输出和持久化的接口,这里ConsolePipeline表示结果输出到控制台.addPipeline(new ConsolePipeline());try {//添加到JMT监控中SpiderMonitor.instance().register(oschinaSpider);//设置线程数//oschinaSpider.thread(5);oschinaSpider.run();} catch (JMException e) {e.printStackTrace();} }}
1 0
- webMagic爬虫抓取某个博客全部文章名称
- WebMagic(二)----抓取CSDN博客、并打印
- WebMagic(二)----抓取CSDN博客、并打印
- python爬虫之python2.7.8抓取csdn博客文章
- 基于WebMagic的CSDN博客爬虫
- python爬虫实战,抓取贴吧全部人员名称和等级
- webmagic爬虫
- webmagic爬虫
- springboot使用webmagic框架来抓取自己的博客信息
- python爬虫CSDN文章抓取
- 爬虫抓取微博文章
- 爬虫:实现网站的全部图片抓取
- Python爬虫抓取csdn博客
- 基于WebMagic写的一个csdn博客小爬虫
- 基于WebMagic写的一个csdn博客小爬虫
- 基于WebMagic写的一个入门级CSDN博客爬虫
- 基于WebMagic写的一个csdn博客小爬虫
- Webmagic爬虫--②爬自己的CSDN博客列表
- Lua中调用的dll文件的编写方法
- 使用jqury在指定表格列与行输出指定内容
- jQuery Ajax 实例 ($.ajax、$.post、$.get)
- 排序算法详细对比
- 内连接、左外连接、右外连接、交叉连接区别
- webMagic爬虫抓取某个博客全部文章名称
- oracle调不出来图形界面
- MinGW eclipse中运行c++控制台没输出
- GridView
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)
- Python黑帽编程 3.3 MAC洪水攻击
- Ubuntu下搭建PHP+Nginx环境
- 中缀表达式转为后缀表达式
- C# yield关键字的用法