• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

AndroidCrawler: Android上的一款采集框架, 采用Retrofit + OkHttp + Rxjava + Eventb ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

AndroidCrawler

开源软件地址:

https://gitee.com/chinagtech/zouchuqu_crawler_app

开源软件介绍:

Android Crawler 采集新闻框架


Android Crawler, 一款采集软件, 采用Retrofit + OkHttp + Rxjava + Eventbus + Greendao + Jsoup + Meterial Design, 参考webmagic爬虫框架并用rxjava制作了自定义的采集框架。

采集网站

Thanks to the open source project 使用框架

feature

  • 使用Android前台Service,提高优先权不被手机内存回收,后台采集

  • 使用接口化的采集框架,可以扩展不同的采集规则

文档

以下可以根据实际情况修改

注意更改 gradle/wrapper/gradle-wrapper.properties 中distributionUrl=file:///D:/android/gradle/gradle-2.14.1-all.zip为自己的本地gradle路径

数据库设计

article表

public class Article {    private String title;    private String content;    private Date time;    //栏目    private String column;    @Id    private String url;}

采用url作为主键,标识是否采集过了

采集框架

采集的思想是分schedule和processor。

  • schedule负责提供url,在本示例中是采集列表页,返回文章的url数组。所以实现schedule的时候,在schedule中可以定义栏目等采集信息,维护当前列表的页码,当spider要求更多的url时候,返回url数组,如果列表页没有下一页的时候可以主动停止spider。

  • processor解析html后,可以传递给pipeline做一些其它工作,比如保存到数据库等

│ ISpider.java
│ Spider.java
│ SpiderListener.java

├─pipeline
│ GreenDaoPipeline.java
│ IPipeline.java

├─processor
│ ContentProcessor.java
│ IContentProcessor.java
│ IUrlProcessor.java
│ ListProcessor.java

└─schedule
CommonSchedule.java
ISchedule.java

ISpider 采集统筹管理类

IContentProcessor,IUrlProcessor 解析html内容
ISchedule 负责提供url队列,没有url的时候可以主动停止当前spider
IPipeline 实现数据的持久化,写入数据库等。

详情请参考Spider实现类未完待续。

提取栏目json字符串的js

访问网站,在开发者工具控制台输入以下,运行

function getList(){var arr=[];$('dl.menu').find('dd').each(function(){var $this=$(this);var text=$this.text();var href=$this.find('a').attr('href');var node={};node.text=text;node.href=href;arr.push(node);})return JSON.stringify(arr);}getList();

如下:

[  {    "text": "政策文件",    "href": "/article/fwydyl/zcwj"  },  {    "text": "统计数据",    "href": "/article/fwydyl/tjsj"  },  {    "text": "相关资讯",    "href": "/article/fwydyl/zgzx"  },...]

license

基于GPL,可参考基础框架代码。

参考资料

Android Service


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap