初识爬虫
一、预备知识
协议:就是两个计算机之间为了能够流畅的进行沟通而设置的一个君子协定,常见的协议有TCP/IP,SOAP协议,HTTP协议,SMTP协议等等。
HTTP协议,中文名为“超文本传输协议”,是用万维网(WWW)服务器传输超文本到本地浏览器的传送协议。
1、请求
1 请求行 -> 请求方式(get/post...) 请求url地址 协议
2 请求头 -> 放一些服务器要使用的附加信息
3
4 请求体 -> 一般放一些请求参数
请求头中最常见的一些重要内容:
- User-Agent:请求载体的身份标识(用啥发的请求)
- Referer:防盗链(这次请求是从哪个页面来的?反爬会用到)
- cookie:本地字符串数据信息(用户登录信息,反爬的token)
2、响应
1 状态行 -> 协议 状态码(200 302 404 500)
2 响应头 -> 放一些客户端要使用的附加信息
3
4 响应体 -> 服务器返回的真正客户端要用的内容(HTML,json)等
响应头中一些重要的内容:
- cookie:本地字符串数据信息(用户登录信息,反爬的token)
- 未知的字符串(需要经验,一般都是token字样,防止各种攻击和反爬)
注:200表示响应成功;302表示重定向;404表示URL错误;500表示服务器出错
二、设置镜像
将默认pip改为清华镜像
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
三、爬虫入门
# get请求
res = requests.get(url,headers=headers,params=params) # headers伪装成浏览器,处理反爬;params是get请求携带的参数
# post请求
res = requests.post(url,headers=headers,data=data) # data是提交的数据
# 拿到页面源代码,返回的是字符串
res.text
# 拿到json数据,返回的是字典
res.json()
四、浏览器抓包工具
打开浏览器,按下F12键,启用开发者模式。
五、数据解析
常见的四种解析方式
- re解析
- bs4解析
- xpath解析
- pyquery解析