上手简单,功能强大的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 相关文章推荐
12步教你理解Python装饰器
Feb 25 Python
Django返回json数据用法示例
Sep 18 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
对python requests的content和text方法的区别详解
Oct 11 Python
Python基本socket通信控制操作示例
Jan 30 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 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中截取中文字符串的代码小结
2011/07/17 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
php处理带有中文URL的方法
2016/07/11 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python单链表简单实现代码
2016/04/27 Python
python表格存取的方法
2018/03/07 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
linux环境下Django的安装配置详解
2019/07/22 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Pytorch中.new()的作用详解
2020/02/18 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
HTML5图片预览实例分享
2014/06/04 HTML / CSS
中专生毕业自我鉴定
2013/11/01 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
医学生个人求职信范文
2014/02/07 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
金融专业求职信
2014/08/05 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
上课讲话检讨书范文
2015/05/07 职场文书