上手简单,功能强大的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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
python实现井字棋游戏
Mar 30 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
Python输出\u编码将其转换成中文的实例
Dec 15 Python
Puppeteer使用示例详解
Jun 20 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
python deque模块简单使用代码实例
Mar 12 Python
python入门教程之基本算术运算符
Nov 13 Python
python爬虫请求头的使用
Dec 01 Python
浅析python实现动态规划背包问题
Dec 31 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
Syphon 使用方法
2021/03/03 冲泡冲煮
php连接Access数据库错误及解决方法
2013/06/20 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
javascript控制swfObject应用介绍
2012/11/29 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python解析xml文件操作实例
2014/10/05 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
汽车工程专业应届生求职信
2013/10/19 职场文书
大学生专科学习生活的自我评价
2013/12/07 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
公司营业员的自我评价
2014/03/04 职场文书
项目合作协议书
2014/04/16 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
python 制作一个gui界面的翻译工具
2021/05/14 Python
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android