上手简单,功能强大的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处理大数字的方法
May 27 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
Python切片操作实例分析
Mar 16 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
详解如何用python实现一个简单下载器的服务端和客户端
Oct 28 Python
Python any()函数的使用方法
Oct 28 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
Python标准库json模块和pickle模块使用详解
Mar 10 Python
Python如何将将模块分割成多个文件
Aug 04 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
php验证session无效的解决方法
2014/11/04 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
详解vue axios二次封装
2018/07/22 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
python登录豆瓣并发帖的方法
2015/07/08 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
浅析Python的命名空间与作用域
2020/11/25 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
英语演讲稿范文
2014/01/03 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
创意广告词
2014/03/17 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
运动会广播稿50字
2015/08/19 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
JS的深浅复制详细
2021/10/16 Javascript