python代码爬取html网页之scrapy框架

本文介绍了scrapy爬虫框架,它是一个用于专业网络爬虫的工具,能够处理网站级爬虫任务。文章涵盖了scrapy的安装、常用命令、框架结构,并详细讲解了Response类、Requests类和Item类的用途。

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

scrapy 爬虫框架

scrapy是个能够帮助用户实现专业网络爬虫的爬虫框架,不同于小编之前介绍的requests、Beautifulsoup、re这些函数功能库,可实现网站级爬虫,但对于处理js、提交表单、应对验证码等功能还有望扩展。

安装

scrapy爬虫框架的安装方法与其它第三方库无区别

#在cmd或anaconda prompt上运行即可
pip install scrapy
命令执行
#scrapy命令行格式
scrapy <command> [options] [args]
命令说明
scrapy startproject <name> [dir]创建一个新爬虫项目,自动生成一系列文件目录,name指定项目名称
scrapy genspider [option] <name> <domain>创建一个爬虫,domain指定所要爬取的网页url,option是可选命令操作符,name指定爬虫名称
scrapy settings [option]获取爬虫配置信息,option是可选命令操作符
scrapy runspider [option] <spider_file>运行爬虫程序,option是可选命令操作符,spider_file指定需要运行的文件,要有py后缀(旧版本用的是scrapy crawl <spider>)

以上仅介绍了4个常用的scrapy命令,其余5个bench,fetch,shell,view,version自行在命令行窗口运行‘scrapy’查看

框架结构讲解

执行scrapy startproject 命令后,自动地在指定目录里生成了一堆文件,让人无从下手,接下来讲解一下scrapy爬虫框架。
scrapy

工程目录spiders

文件中经常出现的Response类、Requests类、Item类

Requests对象表示一个HTTP请求,由spider生成,由downloader执行。

request
而Response对象表示一个http响应,由downloader生成,由spider处理。
response
Item对象表示一个从HTML页面中提取的信息内容由spider生成,再由Item Pipline处理。Item类似字典类型,可按照字典类型操作。

从上图可以看出engine、downloader、scheduler模块已经是别人写好且完善,我们无需修改。一般我们主要配置在spiders文件夹中自己生成爬虫程序与pipelines.py如何输出数据。

值得注意的是对于文件修改,如果运行时出现了异常,看看是否自己的修改与setting.py的规定不符。scrapy默认支持CSS Selector解析页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值