zoukankan      html  css  js  c++  java
  • 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提交等方式。

    另附一张官方架构图

  • 相关阅读:
    日志收集
    解决spawn-fcgi child exited with: 1
    confluence启动关闭
    Informatica 启动、停止工作流命令
    启动obiee
    oracle修改连接空闲自动断开
    ORA-00845: MEMORY_TARGET not supported on this system
    svn执行clean up命令时报错
    手游推广
    phonegap/cordova 升级版本
  • 原文地址:https://www.cnblogs.com/yhood/p/11597081.html
Copyright © 2011-2022 走看看