Skip to content

Commit

Permalink
[update] update README,add feature introduction
Browse files Browse the repository at this point in the history
  • Loading branch information
brianway committed Dec 21, 2016
1 parent e6f0318 commit 1392316
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,43 @@ webporter 寓意“我们不生产数据,我们只是互联网的搬运工~

目前只提供了知乎用户数据的爬虫示例。不定时进行调整和补充,需要关注更新的请 watch、star、fork

---

webporter 的主要特色:

- 基于国产 Java 爬虫框架 webmagic,是众多 Python 爬虫中的一股清流
- 完全模块化的设计,强大的可扩展性
- 核心简单,但是涵盖爬虫应用的完整流程,是爬虫应用的实践样例
- 使用 JSON 配置,无需改动源码
- 支持多线程
- 支持向 Elasticsearch 批量导入

## 仓库目录
**注意:webporter 不是爬虫框架,而是如何使用爬虫框架进行实战的样例,并把公共部分抽象成基础/工具模块,方便用户快速定制自己的爬虫应用**

- [webporter-core](/webporter-core):核心基础模块,包括自动配置,抽象逻辑等部分
- [webporter-data-elasticsearch](/webporter-data-elasticsearch):将数据导入 Elasticsearch 的工具模块
- [webporter-collector-zhihu](/webporter-collector-zhihu):知乎用户信息的业务模块,完成爬取和持久化存储的功能
webporter 核心模块的架构和设计主要参考了 **webmagic**
[https://github.com/code4craft/webmagic](https://github.com/code4craft/webmagic)

webporter 的 github 地址:[https://github.com/brianway/webporter](https://github.com/brianway/webporter)

## 效果展示

详细的数据分析贴请看我的博客 [《爬取知乎60万用户信息之后的简单分析》](http://brianway.github.io/2016/12/20/webporter-zhihu-user-analysis/)
详细的数据分析文章请看我的博客 [《爬取知乎60万用户信息之后的简单分析》](http://brianway.github.io/2016/12/20/webporter-zhihu-user-analysis/)

- 下载数据:去重导入 Elasticsearch 后大概有 60+ 万用户数据

![索引状态图](http://7xph6d.com1.z0.glb.clouddn.com/webporter_%E7%9F%A5%E4%B9%8E-%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E5%9C%A8ES%E7%B4%A2%E5%BC%95%E7%8A%B6%E6%80%81.jpg)

- 示例分析:通过聚合得到知乎用户 top 10 行业分布情况
- 示例分析:通过聚合得到知乎用户 top 10 行业分布情况(1:男,0:女,-1:未知)

![top 10 行业分布](http://7xph6d.com1.z0.glb.clouddn.com/webporter_%E7%9F%A5%E4%B9%8E-top10%E8%A1%8C%E4%B8%9A%E5%88%86%E5%B8%83.png)


## 仓库目录

- [webporter-core](/webporter-core):核心基础模块,包括自动配置,抽象逻辑等部分
- [webporter-data-elasticsearch](/webporter-data-elasticsearch):将数据导入 Elasticsearch 的工具模块
- [webporter-collector-zhihu](/webporter-collector-zhihu):知乎用户信息的业务模块,完成爬取和持久化存储的功能

## 环境要求

- JDK 1.8+
Expand Down Expand Up @@ -64,15 +79,16 @@ webporter 寓意“我们不生产数据,我们只是互联网的搬运工~

需要修改两处:`authorization``base_dir`

- `authorization` 需要知乎账户在已登录状态下自行在浏览器抓包提取该 HTTP 响应头
- `base_dir` 为保存数据文件的根目录,需具有写权限
- `authorization`: 需要知乎账户在已登录状态下自行在浏览器抓包提取该 HTTP 响应头
- `base_dir`: 为保存数据文件的根目录,需具有写权限

更多关于 `site` 的属性配置请参考 [WebMagic in Action - Site Config](http://webmagic.io/docs/zh/posts/ch4-basic-page-processor/spider-config.html)

2.启动爬虫

依次运行 `webporter-collector-zhihu` 模块的下面两个类的 `main` 方法即可。(*注意:由于这两个阶段是串行的,不要同时启动这两个类*)

- [`ZhihuUserPageProcessor`](/webporter-collector-zhihu/src/main/java/com/brianway/webporter/collector/zhihu/download/ZhihuFolloweePageProcessor.java):该类用于从知乎下载用户信息,下载的数据可以复制粘贴在 [在线 json 格式化工具](http://tool.oschina.net/codeformat/json)中查看
- [`ZhihuFolloweePageProcessor`](/webporter-collector-zhihu/src/main/java/com/brianway/webporter/collector/zhihu/download/ZhihuFolloweePageProcessor.java):该类用于从知乎下载用户信息,下载的数据可以复制粘贴在 [在线 json 格式化工具](http://tool.oschina.net/codeformat/json)中查看
- [`FolloweeUploader`](/webporter-collector-zhihu/src/main/java/com/brianway/webporter/collector/zhihu/upload/FolloweeUploader.java):该类用户将用户信息上传到 Elasticsearch (需要提前安装并运行 Elasticsearch)


Expand Down

0 comments on commit 1392316

Please sign in to comment.