scrapy了解一下,安装图文教程。

scrapy

scrapy是一个流行的爬虫框架。架构分层,适合复杂项目并易于扩展。封装异步包,实现并发请求和分布式部署。

框架架构介绍

  • 引擎(scrapy engine)
    处理整个系统的数据流,触发事务。

  • 调度器(scheduler )
    接收引擎发过来的请求,压入队列,去重,决定下一次请求的url。

  • 下载器(downloader)
    根据url请求网页,下载网页原始内容,并将网页内容返回给spiders。(基于twisted,异步请求)

  • 爬虫(spiders)
    从网页信息中提取实体信息,返回单个实体item。
    也可以提取链接供之后爬取。

  • 管道(pipeline)
    接收单个实体item,好像生产线一样进行加工。
    验证item是否有效,持久化数据(写csv或数据库)。

  • 下载中间件、爬虫中间件、调度中间件(middle)
    上述主要模块无法满足的更细化或更前置的需求。例如django也有中间件,需求:用户进入视图函数前新建数据库连接、验证用户sessionid,请求后要销毁数据库链接。

运行流程

  1. 引擎从调度器里去一个url待请求
  2. 引擎接收到后封装为一个请求,交给下载器
  3. 下载器请求网页,返回response
  4. 爬虫解析response得到实体item
  5. item交给管道进行处理

安装scrapy

scrapy依赖包较多,有些包用c写的需要vc编译器。

方法一:anaconda, 自带上千种编译好的科学计算相关包。优点自带编译后的scrapy。缺点:体积大,下载包300m,安装一个多G。主要是科学计算领域,大多数包用不上,flask django又没有需要新下。miniconda是anaconda的精简版本。版本有限。缺少.net会导致无报错失败。
方法二(推荐):pip install scrapy 哪些包报错需要vc编译器的,再单独去发布编译后的包的网站下载对应平台编译后的.whl文件安装。
参考链接:

  1. 安装twisted。第三方编译后包的网站 https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted。
  2. 安装scrapy。图文教程 https://www.1owo.com/python/python/python-scrapy安装之windows环境下/
  3. 执行安装过pywin32的脚本。

报错:

  1. 安装twisted.whl时拒绝访问。解决,使用管理员权限的终端。
  2. 运行scrapy crawl时报错win32。解决,上面博客图文教程中选做步骤改为必做,py32脚本也需要安装。

创建项目

创建项目 scrapy startproject [项目名]
根据预设模板创建爬虫文件 scrapy genspider [爬虫名] [域名]
运行爬虫 scrapy crawl [爬虫名]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值