Scrapy 框架简单介绍

Scrapy是一个Python实现的爬虫框架,用于抓取网站数据和提取结构化信息。它利用Twisted进行异步网络通信,提供灵活的中间件接口。文章介绍了Scrapy的架构、模块、安装、应用及日志使用,包括创建项目、提取数据、使用管道和配置日志级别。

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

scrapy框架
  • Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。
  • 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。
  • Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
scrapy架构图(绿线为数据流通方向)

这里写图片描述

各个模块的简单介绍

这里写图片描述

scrapy框架的安装
  • 环境为Ubuntu和mac

    pip3 install —upgrade pip

    sudo pip3 install scrapy

scrapy的应用
  • 创建项目

    scrapy startproject 爬虫名

  • 项目结构如下
    这里写图片描述

  • 创建爬虫

    scrapy genspider 爬虫名 爬取范围域名

    例如scrapy genspider zhihu zhihu.com

  • 完善爬虫

    • start_url地址对应的响应交给parse函数处理,parse函数名不能修改
    • 提取数据,response.xpath结果是包含selector对象的列表
    • extract 把列表中的selector对象转化为字符串, 如果没有则为空列表
    • extract_first()获取列表中第一个数据转化为字符串,没有就是none值
    • yield 把数据传递给管道
  • 管道的注意点

    • 管道的使用需要在settings中开启
    • 键是管道的位置
    • 管道距离引擎的远近,越小越近,数据越先经过
log的使用
  • 在settings中设置log的级别,添加一行(大写):LOG_LEVEL="WARNING",默认终端显示的是debug级别的log信息

  • log的最低级别。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG 。

  • LOG_FILE 是日志保存的位置,设置之后终端不会有日志输出

    LOG_FILE='./a.log' # 设置日志保存的位置,设置后,后端不会显示日志内容

  • 普通项目中使用log

    import logging
    logging.basicConfig() # 设置日志输出的样式 格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值