上手简单,功能强大的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 re模块介绍
Nov 30 Python
python中列表元素连接方法join用法实例
Apr 07 Python
Python脚本暴力破解栅栏密码
Oct 19 Python
Python线程下使用锁的技巧分享
Sep 13 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
python异常处理try except过程解析
Feb 03 Python
python 错误处理 assert详解
Apr 20 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 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
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
Python下载网络小说实例代码
2018/02/03 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python常见数据类型转换操作示例
2019/05/08 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
大学考试作弊检讨书
2014/01/30 职场文书
《藏戏》教学反思
2014/02/11 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
学生会招新策划书
2014/02/14 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
2014年学生工作总结
2014/11/20 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python