Python网络爬虫--基本概念

一、爬虫简介

1.1 爬虫的定义

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动批量化地抓取万维网信息的程序或者脚本。

自动批量化的抓取既有数据
模拟客户端发送请求,接受数据

1.2 爬虫的用处

数据分析/人工数据集
社交软件冷启动
竞争对手监控
舆情监控

1.3爬虫的分类

1.通用爬虫:
抓取的数据大多是无用的,不能根据用户的需求来精准获得数据。一般搜索引擎使用

2.聚焦爬虫:完成特定数据的采集

3.增量式爬虫:爬取存在停止条件

4.暗网爬虫:

1.4 反爬手段

1 user-agent:用户代理
,是一个特殊的字符串头,使服务器能够识别客户使用的操作系统及版本,cpu类型,浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

2.代理ip
高匿名代理:对方服务器既不知道使用了代理,也不知道真实ip
匿名代理:服务器知道你使用了代理,但不知道你的真实ip
透明代理:服务器知道你使用了代理,也知道你的真实ip
3.验证码访问
4.动态加载网页
网页返回的不是真实的数据,而是js数据
5.数据加密

1.5 爬虫的组成

模拟请求
数据提取:json格式和html数据:正则re、python各种包
数据持久化(存储): 数据库、excel、文件

1.6 爬虫的合法性

1.robots.txt :君子协议,约定哪些资源可以被爬虫获取
2.数据脱敏:将敏感信息去掉

二、http、https

http(超文本传输协议): 用来发布和接受html页面的方法。 明文传输,端口号80,

https: http的安全版,在http下加入SSL层。 加密传输,端口号443

SSL(安全套接层): 主要用于web的安全传输协议,在传输层对网络连接进行加密,保障在internet上数据传输的安全。
Python网络爬虫--基本概念

三、浏览器发送http请求的过程

用户在浏览器输入一个url并回车后,浏览器向http服务器发送request请求,该请求有get、post方法。

在浏览器输入url并回车后,浏览器发送一个request请求去获取该网址的html文件,服务器吧request文件对象发回给
浏览器。
浏览器分析request中的html,发现其中引用了很多其他的文件,如images、js、css。浏览器户自动再次发送request去获取图片,css,js。
当所有文件下载成功后,网页会根据html语法结构,完整显示出来

请求:被动

是什么:客户端发给服务器的一种结构
组成:url
请求方法:get、post、put、patch、delete
请求头
Accept:告诉服务器我能接收哪些数据类型
MIME:大格式/小格式
Cookie:会话技术、用户身份
Referer:上一个页面
User-Agent:用户浏览器信息

Python网络爬虫--基本概念
鼠标选中:选中的界面会在右侧显示对应的代码
设备切换:可以切换电脑版本和手机版本
元素elements:网页显示的时候,对应的前端代码
控制台 Console:可以输入、也可以对应代码中的打印
源 sources:网页的原始代码
网络 NetWork:检测本网页内的所有网络请求
性能 Performance:性能优化
内存 Memory:内存分析,性能优化
应用 Application:浏览器内部的各种资源