爬虫的概念、工具和HTTP
目录
什么是爬虫?
- 爬虫是模拟客户端/浏览器发送网络请求,获取相应,按照规格提取数据的程序。
- 模拟客户端/浏览器发送网络请求:照着浏览器发送一模一样的请求,获取浏览器一模一样的数据。
爬虫的数据去哪里了?
- 呈现第三方平台:展现在网页上,或者展现在app上
- 进行分析:从数据中寻找一些规律
需要的软件和环境
- python3
- 基础语法(字符串,列表,字典,判断和循环)
- 函数(函数的创建和调用)
- 面向对象(如何创建一个类,如何使用这个类)
- pycharm
- python编辑器
- chrome浏览器
- 用于分析网络请求
浏览器的请求
- url
- 在chorme中点击检查,点击network
- url = 请求的协议 + 网站的域名 + 资源的路径 + 参数
- 浏览器请求url地址
- 当前 url 对应的响应 + js + css + 图片 ——>elements中的内容
- 爬虫请求 url 地址
- 当前 url 对应的请求
- elements 的内容和爬虫获取到的 url 地址的响应不同,爬虫中需要以当前的 url 地址对应的相应为准提取数据
- 当前 url 地址对应的相应在哪里?
- 从 network 中找到当前的 url 地址,点击 response
- 在页面上右键——>显示网页源码
认识 HTTP、HTTPS
- http:超文本传输协议
- 以明文的形式传输
- 效率更高,但是不安全
- https:http + SSL(安全套接字层)
- 传输之前数据先加密,之后解密获取内容
- 效率较低,但是安全
- get 请求和 post 请求的区别
- get请求没有请求体,post 有,get 请求把数据放在url地址中
- post 请求常用于登陆注册,传输大文本的时候
- post 请求携带的数据量比 get 请求大/多,常用于传输大文本的时候
- HTTP 协议之请求
- 请求行
- 请求头
- User-Agent(用户代理):对方服务器能够通过User-Agent 知道当前请求对方资源的是什么浏览器
- 如果我们需要模拟手机版的浏览器发送请求,就需要把 User-Agent 改成手机版
- Cookie:用来存储用户信息的,每次请求会被携带上发送给对方的浏览器
- 要获取登陆后才能访问的页面
- 对方的服务器会通过Cookie来判断我们是不是爬虫
- User-Agent(用户代理):对方服务器能够通过User-Agent 知道当前请求对方资源的是什么浏览器
- 请求体
- 请求体是什么呢?携带数据
- post 请求有请求体
- get 请求没有请求体
- HTTP协议之响应
- 响应头
- Set-Cookie:对方服务器通过该字段设置Cookie到本地
- 响应体
- url 地址对应的响应
- 响应头