12.Feapder
我的评级:不好用, 中间件只能拦截发送的, 不能拦截返回的, 就nm离谱, 帮助文档写的也模糊, 既然有中间件, 为什么整体流程中不标注???用Scrapy
第一章 Feapder基本知识
第一节 为什么使用Feapder
1.1.1 关于Feapder
官方文档: https://feapder.com/#/
- 异步爬虫框架(底层是asyncio, aiohttp实现异步)
- 国内的框架, 源码注释, 帮助文档都是中文
- ==底层封装了Selenium, 并且支持Selenium拦截xhr请求结果==
- & 这个框架我不会花很多时间, 像什么工作流程我就不去管了,如果后面学完分布式后, 发现比Scarpy好用, 会详细学的
- & 现在主要了解下①UA,Cookie, 代理IP的携带 ②Selenium拦截xhr请求结果
1.1.2 下载Feapder框架
- & 说明: 这里是全量下载, 具体区别
pip install "feapder[all]"
第二节 Hello Feapder
需求: 爬取“豆瓣”电影信息
STEP1: 创建项目&轻量级爬虫文件

feapder create -p douban # 这个指令会在当前文件夹下, 生成项目文件"douban"
feapder create -s douban # cd到spiders文件夹下, 执行这个指令,后续选第一个AirSpider
STEP2: 配置数据库,并生成表对应的Item文件
- $ 语法: feapder需要先去数据库生成表, 不能像scrapy那样在爬虫代码中建表
# MYSQL
MYSQL_IP = "localhost"
MYSQL_PORT = 3306
MYSQL_DB = "py_spider"
MYSQL_USER_NAME = "root"
MYSQL_USER_PASS = "root"
feapder create -i db_movie # cd到Item文件夹下, 后续选择第一个Item即可
STEP3: 编写具体spider实现数据清洗
- $ 语法:实例化Item对象:
item = db_movie_item.DbMovieItem() - $ 语法: Scrapy中的meta字典, 这里是item直接传递
- $ 语法: 启动可以多
import feapder
from items import db_movie_item
class Douban(feapder.AirSpider):
def start_requests(self):
yield feapder.Request("https://movie.douban.com/top250?start=25&filter=", callback=self.parse)
# 爬虫STEP3:数据清洗
def parse(self, request, response):
movies = response.xpath("//ol/li")
for movie in movies:
item = db_movie_item.DbMovieItem() # 设置为"source_root"别忘了
item['title'] = movie.xpath('.//div[@class="hd"]/a/span[1]/text()').extract_first()
item['rate'] = movie.xpath('.//span[@class="rating_num"]/text()').extract_first()
item['detail_url'] = movie.xpath('.//div[@class="hd"]/a/@href').extract_first()
yield feapder.Request(item['detail_url'], callback=self.parse_detail, item=item) # 这里item相当于Scrapy中mata字典
def parse_detail(self, request, response):
item = request.item # 接力item值
item['short'] = response.xpath('//div[@class="indent"]/span/text()').extract_first().strip() or ""
yield item # 爬虫STEP4:数据存储(Feapder中无需实现存储过程, 有item和setting配置即可)
if __name__ == "__main__":
Douban(thread_count=10).start() # 这里可以用多线程启动
# Douban.start() # 默认使用"异步"(但我总感觉慢好多)
第三节 中间件(下载中间件)
1.3.1 配置UA
第四章 Selenium拦截

- Title: 12.Feapder
- Author: 明廷盛
- Created at : 2026-02-12 01:17:04
- Updated at : 2025-02-15 15:34:00
- Link: https://blog.20040424.xyz/2026/02/12/🐍爬虫工程师/第一部分 爬虫基础/12.Feapder/
- License: All Rights Reserved © 明廷盛