• java 爬虫 WebMagic(一)-Spider


    现在做爬虫的大部分都在用Python,其实java也可以,这里介绍一款轻量级国产爬虫框架 Webmagic

    官方地址:http://webmagic.io/

    个人对于爬虫的理解分为2种,第一种是爬取页面(静态数据),第二种是爬取接口(动态加载的数据)

    对于静态的页面数据,关键获取到页面document结构。

    对于接口的数据,关键是找到接口链接和对应参数。

    Webmagic对着两种都有非常简洁,易于理解的处理方案。

    三个核心:PageProcessor,Pipeline,Spider

    PageProcessor 实现爬取规则

    Pipeline            实现数据持久化

    Spider    启动爬虫,指定规则。

    例如:

    Spider.create(new MyProcessor())
    .addPipeline(new MyPipeline())
    .addUrl("http://www.xxxx.com").thread(3).run();

    表示 启动一个爬虫,爬取规则为MyProcesser,爬取后的数据处理方式为MyPipeline,目标网站为http://www.xxxx.com,线程数量为3个,就是这么简洁。

    如要处理非http GET的请求方式,可以同Request对象,例如:

    Request request = new Request("http://xxx/path");
    request.setMethod(HttpConstant.Method.POST);
    request.setRequestBody(HttpRequestBody.json("{'id':1}","utf-8"));
    Spider.create(new MyProcessor())
    .addPipeline(new MyPipeline())
    .addRequest(request).thread(3).run();

    HttpRequestBody内置了几种初始化方式,支持最常见的表单提交、json提交等方式。

    另附一张官方架构图

  • 相关阅读:
    微信验证代码
    微信内置浏览器的JS API
    伪类和伪元素
    asp.net core mvc 脚手架搭建过程介绍
    C#无锁内存队列
    关于微软OWIN的一篇好文章
    安装了Win10预览版10074,不能设置开发模式的bug解决
    关于Quartz的一些经历
    MEF接口应用初探
    简单的接口框架
  • 原文地址:https://www.cnblogs.com/yhood/p/11597081.html
Copyright © 2020-2023  润新知