feapder是一款支持分布式、批次采集、任务防丢、报警丰富的python爬虫框架
Project description
FEAPDER
简介
feapder是一款上手简单,功能强大的Python爬虫框架
读音: [ˈfiːpdə]
1.拥有强大的监控,保障数据质量
监控面板:点击查看详情
2. 内置多维度的报警(支持 钉钉、企业微信、飞书、邮箱)
3. 简单易用,内置四种爬虫,可应对各种需求场景
-
AirSpider
轻量爬虫:学习成本低,可快速上手 -
Spider
分布式爬虫:支持断点续爬、爬虫报警等功能,可加快爬虫采集速度 -
TaskSpider
任务爬虫:从任务表里取任务做,内置支持对接redis、mysql任务表,亦可扩展其他任务来源 -
BatchSpider
批次爬虫:可周期性的采集数据,自动将数据按照指定的采集周期划分。(如每7天全量更新一次商品销量的需求)
feapder对外暴露的接口类似scrapy,可由scrapy快速迁移过来。支持断点续爬、数据防丢、监控报警、浏览器渲染下载、海量数据去重等功能
文档地址
- 官方文档:http://feapder.com
- 境外文档:https://boris.org.cn/feapder
- github:https://github.com/Boris-code/feapder
- 更新日志:https://github.com/Boris-code/feapder/releases
- 爬虫管理系统:http://feapder.com/#/feapder_platform/feaplat
环境要求:
- Python 3.6.0+
- Works on Linux, Windows, macOS
安装
From PyPi:
通用版
pip3 install feapder
完整版:
pip3 install feapder[all]
通用版与完整版区别:
- 完整版支持基于内存去重
完整版可能会安装出错,若安装出错,请参考安装问题
小试一下
创建爬虫
feapder create -s first_spider
创建后的爬虫代码如下:
import feapder
class FirstSpider(feapder.AirSpider):
def start_requests(self):
yield feapder.Request("https://www.baidu.com")
def parse(self, request, response):
print(response)
if __name__ == "__main__":
FirstSpider().start()
直接运行,打印如下:
Thread-2|2021-02-09 14:55:11,373|request.py|get_response|line:283|DEBUG|
-------------- FirstSpider.parse request for ----------------
url = https://www.baidu.com
method = GET
body = {'timeout': 22, 'stream': True, 'verify': False, 'headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36'}}
<Response [200]>
Thread-2|2021-02-09 14:55:11,610|parser_control.py|run|line:415|DEBUG| parser 等待任务...
FirstSpider|2021-02-09 14:55:14,620|air_spider.py|run|line:80|INFO| 无任务,爬虫结束
代码解释如下:
- start_requests: 生产任务
- parse: 解析数据
爬虫工具推荐
- 爬虫在线工具库:http://www.spidertools.cn
- 验证码识别库:https://github.com/sml2h3/ddddocr
微信赞赏
如果您觉得这个项目帮助到了您,您可以帮作者买一杯咖啡表示鼓励 🍹
也可和作者交个朋友,解决您在使用过程中遇到的问题
学习交流
知识星球:17321694 | 作者微信: boris_tm | QQ群号:750614606 |
加好友备注:feapder
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
feapder-1.8.0.tar.gz
(191.7 kB
view details)
Built Distribution
feapder-1.8.0-py3-none-any.whl
(208.7 kB
view details)
File details
Details for the file feapder-1.8.0.tar.gz
.
File metadata
- Download URL: feapder-1.8.0.tar.gz
- Upload date:
- Size: 191.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f99b20c2aed8f77b6a382ff7385ccef78295750984da4adb9b147c481ca3a2 |
|
MD5 | 5ef5fd46c348a94bc40f50a998679562 |
|
BLAKE2b-256 | 14ca88d9b9162bab2ca37006d8f4ec56199b696248afcea42ba1aca71bffcbca |
File details
Details for the file feapder-1.8.0-py3-none-any.whl
.
File metadata
- Download URL: feapder-1.8.0-py3-none-any.whl
- Upload date:
- Size: 208.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e29b925c8f29c541bd68bcde11aebe2f4ff4522330be5dad7cafc5688c1a789 |
|
MD5 | 220ce0cd0e31f1d47f98e4a453e1cdc4 |
|
BLAKE2b-256 | 70588cb85c78e0ca379da7dab66e17936d3e63cd420906c1bf1fc6d88bcf72a3 |