爬虫精简,获取数据
1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。
2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。
3.提取数据。爬虫程序再从中提取出我们需要的数据。
4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。
这一篇的内容就是:获取数据。
首先,我们将会利用一个强大的库——requests来获取数据。
在电脑上安装的方法是:Mac电脑里打开终端软件(terminal),输入pip3 install requests,然后点击enter即可;Windows电脑里叫命令提示符(cmd),输入pip install requests 即可。
(requests库可以帮我们下载网页源代码、文本、图片,甚至是音频。“下载”本质上是向服务器发送请求并得到响应。
Pip是一个Python的包管理工具。)
先来看**requests.get()**方法
requests.get()的具体用法如下:
import requests
#引入requests库
res = requests.get('URL')
#requests.get是在调用requests库中的get()方法,它向服务器发送了一个请求,括号里的参数是你需要的数据所在的网址,然后服务器对请求作出了响应。
#我们把这个响应返回的结果赋值在变量res上。
print(type(res))
#打印变量res的数据类型
Response对象常用的四个属性:
1. res.status_code
检查请求是否成功
print(res.status_code)
#打印变量res的响应状态码,以检查请求是否成功
1
响应状态码 说明 举例 说明
1xx 请求收到 100 继续提出请求
2xx 请求成功 200 成功
3xx 重定向 305 应使用代理访问
4xx 客户端错误 403 禁止访问
5xx 服务器端错误 503 服务不可用
2.res.content
能把Response对象的内容以二进制数据的形式返回,适用于图片、音频、视频的下载
3.res.text
可以把Response对象的内容以字符串的形式返回,适用于文字、网页源代码的下载
4.res.encoding
能帮我们定义Response对象的编码
(遇上文本的乱码问题,才考虑用res.encoding)
小结:
获取数据,本质就是通过URL去向服务器发出请求,服务器再把相关内容封装成一个Response对象返回给我们,这是通过requests.get()实现的,而获取到的Response对象下有四个以上常用的属性。
爬虫协议:
Robots协议是互联网爬虫的一项公认的道德规范,它的全称是“网络爬虫排除标准”(Robots exclusion protocol),这个协议用来告诉爬虫,哪些页面是可以抓取的,哪些不可以。
如何查看网站的robots协议呢?在网站的域名后加上/robots.txt就可以了。
下一篇:计算机网络概念