• 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提交等方式。

    另附一张官方架构图

  • 相关阅读:
    java反射机制
    jdbc连接mysql时发出警告:WARN: Establishing SSL connection without server's identity verification is not recommended...
    java,jdbc操作数据库
    vue.js 第十课-第十六课
    vue.js 第九课
    vue.js 第八课
    如何扒代码。。。
    vue.js第七课
    工作总结
    滤镜 filter:gray 变灰色
  • 原文地址:https://www.cnblogs.com/yhood/p/11597081.html
Copyright © 2020-2023  润新知