Python学习笔记-初识爬虫
最近在学习python,将所学知识点记录一下,便于以后查找复习
1、原理:获取数据(请求、响应)->解析数据->提取数据->保存数据
2、python库:requests
import requests
res = requests.get('URL')
res是一个response对象,URL(网址:网页在网络上的地址)
response对象常用4个属性:
属性 | 作用 |
---|---|
response.status_code | 检查请求是否成功 |
response.content | 把response对象转换为二进制数据 |
response.text | 把response对象转换为文本数据 |
response.encoding | 定义response对象编码 |
(1)response.status_code
print(res.status_code) #变量.status_code用来检查请求是否正确响应,若状态码为200,则请求成功
常见的响应状态码解释:
响应状态码 | 说明 |
---|---|
1XX | 请求收到 |
2XX | 请求成功 |
3XX | 重定向 |
4XX | 客户端错误 |
5XX | 服务器端错误 |
(2)response.content:能把response对象的内容以二进制数据形式返回。适用于图片、音频、视频的下载
import requests
res = requests.get('https://pic4.zhimg.com/v2-44e6c5d13e9d9abd67658130905fe987_r.jpg')
pic = res.content
photo = open('D:/test/p.jpg', 'wb')
photo.write(pic)
photo.close()
其中,pic是一个二进制类型数据
3、爬虫伦理
服务器会拒绝频率很高或者恶意爬虫,因为这会给服务器带来很大的伤害和压力
robots协议是互联网爬虫的一项公认道德规范,其全称是“网络爬虫排除标准”,这个协议用来告诉爬虫哪些页面是可以抓取的,哪些页面不可以。
看到想要获取的网页内容后,先检查网页是否允许爬取,严格遵守网页的robots协议,且限制好爬虫速度。
4、BeautifulSoup 网页解析库
平时上网时,浏览器会把服务器返回的