34

ScrapydWeb:我的第一个 1k Star 开源项目

 4 years ago
source link: https://www.tuicool.com/articles/YRrIJre
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

:abc: English | :mahjong:️ 简体中文

ScrapydWeb:用于 Scrapyd 集群管理的web应用,支持 Scrapy 日志分析和可视化。

fI7feie.png!web

Scrapyd :x: ScrapydWeb :x: LogParser

:book: 推荐阅读

:link: 如何简单高效地部署和监控分布式爬虫项目

:link: 如何免费创建云端爬虫集群

:eyes: 在线体验

:link: scrapydweb.herokuapp.com

:star:️ 功能特性

查看内容
  • :diamond_shape_with_a_dot_inside: Scrapyd 集群管理

    • :100: 支持所有 Scrapyd JSON API
    • :ballot_box_with_check: 支持通过分组和过滤来选择若干个节点
    • 一次操作, 批量执行
  • :mag: Scrapy 日志分析

    • :1234: 数据统计
    • :chart_with_upwards_trend: 进度可视化
    • :bookmark_tabs: 日志分类
  • :battery: 增强功能

    • :package: 自动打包项目
    • 集成 :link: LogParser
    • :alarm_clock: 定时器任务
    • :e-mail: 邮件通知
    • :iphone: 移动端 UI
    • :closed_lock_with_key: web UI 支持基本身份认证

:computer: 上手

查看内容

:warning: 环境要求

:exclamation:️ 请先确保所有主机都已经安装和启动 :link: Scrapyd

:bangbang: 如果需要远程访问 Scrapyd,则需在 :link: Scrapyd 配置文件 中设置 'bind_address = 0.0.0.0',然后重启 Scrapyd。

:arrow_down: 安装

  • 通过 pip:
pip install scrapydweb

:exclamation:️ 如果 pip 安装结果不是最新版本的 scrapydweb,请先执行 pip install -U pip ,或者前往 https://pypi.org/project/scrapydweb/#files 下载 tar.gz 文件并执行安装命令 pip install scrapydweb-x.x.x.tar.gz

  • 通过 git:
git clone https://github.com/my8100/scrapydweb.git
cd scrapydweb
python setup.py install

:arrow_forward: 启动

  1. 通过运行命令 scrapydweb 启动 ScrapydWeb(首次启动将自动生成配置文件)。
  2. 访问 http://127.0.0.1:5000 (建议使用 Google Chrome 以获取更好体验)

:globe_with_meridians: 浏览器支持

最新版本的 Google Chrome,Firefox 和 Safari。

:heavy_check_mark: 执行测试

查看内容
$ git clone https://github.com/my8100/scrapydweb.git
$ cd scrapydweb

# 创建虚拟环境
$ pip install virtualenv
$ virtualenv venv/scrapydweb
# 亦可指定 Python 解释器:$ virtualenv -p /usr/local/bin/python3.7 venv/scrapydweb
$ source venv/scrapydweb/bin/activate

# 安装依赖库
(scrapydweb) $ python setup.py install
(scrapydweb) $ pip install pytest
(scrapydweb) $ pip install coverage

# 请先确保已经安装和启动 Scrapyd,然后检查和更新 tests/conftest.py 文件中的 custom_settings
(scrapydweb) $ vi tests/conftest.py
(scrapydweb) $ curl http://127.0.0.1:6800

# '-x': 在第一次出现失败时停止测试
(scrapydweb) $ coverage run --source=scrapydweb -m pytest tests/test_a_factory.py -s -vv -x
(scrapydweb) $ coverage run --source=scrapydweb -m pytest tests -s -vv --disable-warnings
(scrapydweb) $ coverage report
# 生成 HTML 报告, 文件位于 htmlcov/index.html
(scrapydweb) $ coverage html

框架和依赖库

:clipboard: 更新日志

详见 :link: HISTORY.md

:man:‍:computer: 作者

JRRVz2y.png!web

my8100

:busts_in_silhouette: 贡献者

Ef6Zvue.png!web

Kaisla

:copyright: 软件许可

本项目采用 GNU General Public License v3.0 许可协议,详见 :link: LICENSE


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK