目录
一、认识爬虫
浏览器的工作原理:
爬虫的工作原理:
爬虫工作4个步骤:
第0步:获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。
第1步:解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。
第2步:提取数据。爬虫程序再从中提取出我们需要的数据。
第3步:储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。
二、获取数据:模块requests
1、requests功能:
requests库可以帮我们下载网页源代码、文本、图片,甚至是音频。即是向服务器发送请求并得到响应。
requests为第三方模块,安装方法:
Mac电脑:pip3 instal requests
Windows电脑:pip install requests
2、requests常用方法与属性
requests.get(url),它向服务器发送了一个请求,括号里的参数是你需要的数据所在的网址,然后服务器对请求作出了响应,并返回一个Response对象。
Response对象的常用属性 |
||
序号 |
属性 |
作用 |
1 |
response.status_code |
检查请求是否成功,并返回响应状态码,一般如果响应状态码为200,即代表请求成功。 |
2 |
response.content |
吧response对象转换为二进制数据,图像、音频和视频等数据需要转换成二进制数据再存储。 |
3 |
response.text |
吧response对象转换成字符串形式返回,适用于文字、网页源代码的下载。 |
4 |
response.encoding |
定义response对象的编码格式,获取目标数据后要知道相应的编码类型才能正确解码。 |
常见响应状态码解释(status_code) |
|||
响应状态码 |
说明 |
举例 |
说明 |
1xx |
请求收到 |
100 |
继续提出请求 |
2xx |
请求成功 |
200 |
成功 |
3xx |
重定向 |
305 |
应使用代理访问 |
4xx |
客户端错误 |
403 |
禁止访问 |
5xx |
服务器端错误 |
503 |
服务不可用 |
示例:
# 引入requests库
import requests
# 发出请求,并把返回的结果放在变量res中
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
# 把Reponse对象的内容以二进制数据的形式返回
#print(type(r