V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐书目
黑客与画家
REWORK 简体中文版
REWORK 精装原版
深入浅出设计模式 Head First Design Patterns
代码之美 Beautiful Code
数据之美 Beautiful Data
信息论、编码与密码学
Free as in Freedom
设计原本
精通正则表达式
V2EX  ›  程序员

爬虫实践基于 webmagic,目标用 5 分钟就可以爬一个网站(你懂的)

  •  
  •   ihuotui · 42 天前 · 1418 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。
    爬虫实践基于 webmagic ,提供一个例子用于层次化主题帖子和二级帖子及内容。

    webmagic 介绍 https://www.oschina.net/p/webmagic

    5 分钟实现爬 oschina 帖子 https://git.oschina.net/ihuotui/webmagic-sample

    目标

    1 遍历主题列表

    2 读取主题详情页,获取目标文件或者图片或者内容

    3 (可选)读取主题详情页下一页,获取目标文件或者图片

    4 (可选)下载目标文件

    说明,使用 redis 作为进度保存。

    基于以上目标

    1 写了一个抽象类 AbstractPageAndSubPageProcessor 作为遍历抽象,子类集成后,实现一些逻辑就可以运行。

    2 使用 DownloadUrlFileThread 来下载具体文件。

    3 测试方法运行 test 目录的 AbstractPageTest
    第 1 条附言  ·  42 天前
    不过觉得框架的处理页面只能单个 processor ,应该设计成责任链,然后可以根据不同的页面写不同的 processor 。
    9 回复  |  直到 2017-01-13 00:49:42 +08:00
        1
    spice630   42 天前
    臃肿的 java 推荐你学下 golang
    https://github.com/songtianyi/laosj
        2
    ihuotui   42 天前
    @spice630 差不多,工作主要语言是 java 所以只能用 java 写了。
        3
    jurant   42 天前
    唉 java 看一半就没学了.
        4
    luban   42 天前
    webmagic 设计还是很好的
        5
    zgqq   42 天前
    @spice630 写过一个跟你这个很像的,也是抓黄图的,也是用 golang 写的,然后又跳坑了,用回 java
        6
    spice630   42 天前
    @zgqq 为啥啊兄弟,我那个是轻量级的,还有重量级的幽灵蛛,不过我没用过 不好评价。
    golang 好维护。
        7
    zingl   42 天前
    5 分钟可以开始爬一个网站
        8
    zgqq   42 天前 via Android
    @spice630 国内还是 java 用得多,另外 golang 的异常处理让我感觉不习惯
        9
    ihuotui   42 天前 via iPhone
    @zingl 嘿嘿
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2168 人在线   最高记录 2447   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.7.5 · 44ms · UTC 01:31 · PVG 09:31 · LAX 17:31 · JFK 20:31
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1