Python-Scrapy框架的概念基础

个人笔记,如有侵权,联系必删。
Scrapy是一个基于Python的web爬虫框架,用于爬取web站点,并从中提取结构化的数据。
一:为什么用Scrapy,优势是什么?

  • 容易构建大规模的抓取项目
  • 异步处理请求,速度非常快
  • 可以自动调节爬取速度
  • 可以使用Scrapy-redis进行分布式爬取
  • 默认深度优先
  • 基于twisted异步io框架,是纯python实现的爬虫框架,性能是最大的优势

二:Scrapy的缺点

  • 拓展性比较差

三:Scrapy的运行机制

  • 从start_urls里面获取第一批url发送请求,请求由请求引擎给调度器入请求队列,获取完毕后,调度器将请求队列交给下载器去获取请求对应的相应资源,并将相应交给自己编写的代码做提取处理,如果提取出需要对的数据,则交给管道处理,如果提取出url,则继续执行之前的步骤,直到队列里没有请求。

四:常见的反爬措施

  • 通过请求头headers来反爬虫,添加headers
  • ip检测,设置ip池
  • 滑块,可通过selenium+phantomJS无头浏览器实现
  • 验证码,使用图像识别API进行验证码识别,调用打码网站API,模拟登陆手动辅助;

五:整体架构
在这里插入图片描述

六:Scrapy的去重原理
需要将dont_filter设置为False开启去重,默认为False;

七:Scrapy中间件有几种,你用过哪些中间件
中间件理论上有三种:
Schduler Middleware,
Spider Middleware,
Downloader Middleware
1,爬虫中间件Schduler Middleware
主要功能是在爬虫过程中进行一些处理
2,下载器中间件Downloader Middleware
主要功能在请求到网页后,页面被下载时进行一些处理

八:HTTP和HTTPS的区别
HTTP:超文本传输协议,是一个基于请求与响应,无状态的,应用层协议,常基于TCP/IP协议传输数据。
特点:

  • 无状态,协议对客户端没有状态存储
  • 无连接,每次请求都要和服务器重新建立连接
  • 简单快速
  • 使用明文

HTTPS:是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通讯,利用SSL/TLS建立全信道,加密数据包。主要目的是提供对网站服务器的身份认证,同时保护交互数据的隐秘与完整性
特点:

  • 内容加密:采用混合加密技术,中间者无法直接查看明文内容
  • 验证身份:通过证书认证客户端访问的是自己的服务器
  • 保护数据完整性:防止传输的内容被中间人冒充或者篡改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值