Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrox/ecolect
Ecolect是应用Scrapy爬虫框架编写的环评信息收集程序,根据种子链接地址抓取网站的环评公示信息。
https://github.com/chrox/ecolect
Last synced: 2 months ago
JSON representation
Ecolect是应用Scrapy爬虫框架编写的环评信息收集程序,根据种子链接地址抓取网站的环评公示信息。
- Host: GitHub
- URL: https://github.com/chrox/ecolect
- Owner: chrox
- License: apache-2.0
- Created: 2014-02-27T08:18:49.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-04-30T07:11:38.000Z (over 10 years ago)
- Last Synced: 2023-03-15T16:45:27.198Z (almost 2 years ago)
- Language: Python
- Homepage:
- Size: 219 KB
- Stars: 6
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
介绍
=======Ecolect是应用Scrapy爬虫框架编写的环评信息收集程序,可根据提供的种子链接地址抓取网站的环评公示信息。
安装
==============程序依赖以下程序库:
* scrapy
* redis/redispy
* mongodb/pymongo运行
==============启动redis和mongodb数据库服务后,
在ecolect根目录下运行:
```
./init_static_sites.py
./init_start_urls.py
```
初始化种子链接地址。运行:
```
scrapy crawl ecolect_posts
```
即可启动一个爬虫进程。并发
==============不同爬虫进程之间可共用一个种子链接列表和请求队列(存储在Redis数据库中),
使用`parallel`可同时启动多个爬虫进程,提高程序并发性能:
```
parallel bash -c "scrapy crawl ecolect_posts &" -- {0..3}
```增量抓取
==============增量抓取可以在尽量短的时间内收集最新发布的信息。通过Redis数据库持久化Scrapy的过滤器和请求队列,Ecolect甚至可以在异常退出后,重新恢复到上次运行的抓取进度。
获得数据
==============Ecolect收集的环评公告信息可通过Scrapy的Pipline存储到Mongodb或者其他数据库中。
第三方函数库
==============本程序使用了许多第三方函数库,比如:
* scrapy_redis (过滤器和请求队列的持久化,实现并发和增量抓取)
* scrapy_mongodb (存储抓取的文档)
* scrapyjs (抓取Javascript生成的页面)
* readability (Html页面正文内容提取)
* htmltool (Html页面文本分行)
* digit (汉语数字到阿拉伯数字的转换)截图
==============[![使用1000个种子链接的运行状态:](https://github.com/chrox/ecolect/wiki/screenshots/ecolect_posts_25k_screenshot.png)](https://github.com/chrox/ecolect/wiki/screenshots/ecolect_posts_25k_screenshot.png)