上手简单,功能强大的Python爬虫框架——feapder


Posted in Python onApril 27, 2021

简介

feapder 是一款上手简单,功能强大的Python爬虫框架,使用方式类似scrapy,方便由scrapy框架切换过来,框架内置3种爬虫:

  • AirSpider爬虫比较轻量,学习成本低。面对一些数据量较少,无需断点续爬,无需分布式采集的需求,可采用此爬虫。
  • Spider是一款基于redis的分布式爬虫,适用于海量数据采集,支持断点续爬、爬虫报警、数据自动入库等功能
  • BatchSpider是一款分布式批次爬虫,对于需要周期性采集的数据,优先考虑使用本爬虫。

feapder除了支持断点续爬、数据防丢、监控报警外,还支持浏览器渲染下载,自定义入库pipeline,方便对接其他数据库(默认数据库为Mysql,数据可自动入库,无需编写pipeline)

读音: [ˈfiːpdə]

环境要求:

  • 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: 解析数据

将请求头转为json格式

爬虫采集中,我们经常需要携带网站的header等参数,比如:我们在浏览器检查工具看到某请求头为:

Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36

如果我们想在发请求时携带这个header,那么需要手动将其转为json格式。

使用

输入命令,回车

> feapder create -j
请输入需要转换的内容:(xxx:xxx格式,支持多行)

上手简单,功能强大的Python爬虫框架——feapder

输出如下:

上手简单,功能强大的Python爬虫框架——feapder

另外,feapder还支持创建有序字典,方便对比参数前后的变化

命令为:

feapder create -sj

以上就是上手简单,功能强大的Python爬虫框架——feapder的详细内容,更多关于Python 爬虫框架feapder的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python通过websocket与js客户端通信示例分析
Jun 25 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
python集合用法实例分析
May 30 Python
Python 基础教程之包和类的用法
Feb 23 Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python如何用matplotlib创建三维图表
Jan 26 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 Python
python绘制箱型图
基于Python实现的购物商城管理系统
Apr 27 #Python
详解用Python把PDF转为Word方法总结
python实现的web监控系统
python opencv人脸识别考勤系统的完整源码
Apr 26 #Python
python实现监听键盘
Apr 26 #Python
python如何做代码性能分析
Apr 26 #Python
You might like
php实现通过cookie换肤的方法
2015/07/13 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
node.js操作mongodb简单示例分享
2017/05/25 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
简短证婚人证婚词
2014/01/09 职场文书
电气个人求职信范文
2014/02/04 职场文书
红旗渠导游词
2015/02/09 职场文书
安全保证书格式
2015/02/28 职场文书
市场督导岗位职责
2015/04/10 职场文书
爱国教育主题班会
2015/08/14 职场文书
PL350与SW11的比较
2021/04/22 无线电