前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >毕业设计(一):爬虫框架scrapy

毕业设计(一):爬虫框架scrapy

作者头像
Cloud-Cloudys
发布2020-07-07 15:15:29
8350
发布2020-07-07 15:15:29
举报

Scrapy安装

安装Scrapy有两种途径:

  • 使用pip安装:pip install Scrapy
  • 使用国内豆瓣安装:pip install -i https://pypi.douban.com/simple/ scrapy

推荐使用第二种方式,安装速度很快。

Scrapy命令

在命令行中输入scrapy,会直接显示常用的命令:

Scrapy命令
Scrapy命令

1、scrapy startproject Demo(项目名):创建一个新的项目。

2、scrapy genspider name domain:name是爬虫的名字,domain是所爬取的网站名。

3、scrapy crawl <spider>:启动爬虫。

4、scrapy list:查看所有的爬虫。

5、scrapy fetch <url>:打印响应。

6、scrapy shell [url]:调试shell。

在后续的系统设计的时候回慢慢的使用到各种命令进行调试。

文件结构
文件结构

1、scrapy.cfg:项目的配置文件

2、Spider/spiders:爬虫代码文件

3、Spider/items.py:存储爬取到的数据的容器

4、Spider/pipeline.py:执行保存数据的操作

5、Spider/setting.py:项目的设置文件

6、Spider/middlewares.py:中间件

在写代码的时候需要修改每个文件的内容。

spider类

spider类,定义爬虫的方法和属性。下边列出常见的方法和属性:

类属性:

  • name:定义爬虫的名字,在项目中不能重复。
  • allowed_domains:允许爬取的域名。
  • start_urls:起始URL列表,允许有多个url地址。
  • custom_settings:spider的设置,会覆盖全局设置。
  • settings:运行爬虫的配置。
  • logger:制定爬虫创建的python logger name,可以用来发送日志消息。

类方法:

  • from_crawler(cls, crawler, *args, **kwargs):类方法,用来实例化对象,将它绑定到spider对象。
  • start_requsets(self):生成器,返回由URL构造的Request,作为入口,在爬虫运行的时候自动运行。
  • parse(self, reponse):解析函数,返回Item或Requests,一直循环到处理完所有的数据。
  • close(self, reason):爬虫关闭时自动运行。

Request对象

scrapy使用内置的scrapy.http.Request与Response对象去请求网络资源与响应的处理 ,常见的request对象参数列表:

  • url:请求页面的url地址
  • callback:回调函数,也就是页面解析函数
  • method:http请求的方法,默认’get’
  • headers:http请求的头部信息
  • body:http请求的正文
  • cookies:cookie
  • encoding:编码,默认utf-8

Response对象

Response类用于http下载返回信息的类,它只是一个基类,他还有几个子类:

  • TextResponse
  • HtmlResponse
  • XMLResponse

当一个页面下载完成,下载器根据http响应头部中的Content-Type字段创建某个Response子类对象。Response对象属性和方法:

  • url:响应的url字符串
  • status:响应的http状态码
  • body:响应的正文
  • request:返回请求此响应的Request对象
  • meta:元数据
  • copy():返回一个新的Response,它是此Response的副本

这就是爬虫的大概内容,后边的代码会在做毕业设计的过程中一步步的做完。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020.03.13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Scrapy安装
  • Scrapy命令
  • spider类
  • Request对象
  • Response对象
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档