Python爬虫框架—Scrapy

本文介绍了Python的Scrapy爬虫框架,详细讲解了Scrapy的组件结构,包括引擎、调度器、下载器、爬虫、Item Pipeline和中间件。通过一个实例展示了如何创建Scrapy项目,抓取豆瓣网的电影信息,如电影名称、序号、介绍、星级和评价数。同时,讨论了在运行过程中可能遇到的问题,如SQLite3模块缺失和403错误的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Scrapy 是一套基于Twisted的异步处理框架,是纯Python实现的爬虫框架,只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容。

github地址

一 开发环境:

Ubuntu18.04 Scrapy1.5 Python3 Mongodb3.6 Pycharm

pip3 install scrapy		
sudo apt-get install mongodb

二 Scrapy结构

  1. Scrapy Engine:Scrapy引擎
  2. Schedule:一个队列。用来接收引擎发送的请求,将请求排队,并在引擎需要数据时向引擎发送数据。
  3. Downloader:下载器。负责下载引擎发送过来的Request请求,并将下载到的数据交还给引擎,并由引擎交给Spider进行解析。
  4. Spider:爬虫组件。用来分析和提取数据.
  5. Item Pipeline:管道组件。对数据进行后期处理及过滤。
  6. Downloader Middlewares:下载中间件。用来封装代理、http头。
  7. Spider Middlewares:Spider中间件。

三 Scrapy项目实例—抓取豆瓣网电影信息

1.新建项目
#新建项目
scrapy startproject douban							
cd douban/spiders
#生成douban_spider.py文件  movie.douban.com是要爬取内容的域名
scrapy genspider douban_spider movie.douban.com		

项目目录:

-douban
	-spiders
		-__init__.py
		-douban_spider.py
	-__init__.py
	-items.py
	-middlewares.py
	-pipelines.py
	-settings.py
-scrapy.cfg
  1. scrapy.cfg:项目配置文件。定义了项目设置文件路径、部署信息等内容。
  2. items.py:定义Item数据结构的文件。编写所有的Item数据定义。
  3. settings.py:项目设置文件。可以定义项目的全局设置,比如USER_AGENT等。
  4. douban_spider.py:爬虫文件。编写xpath和正则表达式的文件。
  5. pipelines.py:数据处理文件。对爬取到的数据进行处理保存等。
  6. middlewares.py:项目中间件文件。
2. 分析目标网站

1.确定要爬取的内容

  1. 电影名称
  2. 电影序号
  3. 电影介绍
  4. 电影星级
  5. 评价数
  6. 电影描述

2.编写items.py文件
在DoubanItem类中定义数据结构

   # 序号
   serial_number = scrapy.Field()
   # 名称
   movie_name = scrapy.Field()
   # 介绍
   introduce = scrapy.Field()
   # 星级
   star = scrapy.Field()
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值