一、爬虫
对爬虫的理解:按照程序员的想法,由程序员自定义规则编写程序批量的爬取数据(图片、音频、视频、数据等)
(一)爬虫的流程
- 解析HTML页面
- 根据前端的语法或者正则表达式提取数据
- 保存数据
一般用requests、urllib、selenium、playwariter等来获取数据
二、requests方法的使用
requests:通过网址向服务器发送请求,等待服务器的响应结果
(一)status_code:状态码
状态码用来判断服务器和网页的状态
200:表示程序和服务器正常通信
403:表示服务器理解客户端的请求,但是拒绝了客户端的请求
403:表示服务器理解客户端的请求,但是拒绝了客户端的请求
404:网页丢失
500:服务器崩溃
import requests
URL = '想要请求的服务器网址'
# 发送请求,获取服务器的响应结果
response = requests.get(url=URL)
print(response.status_code)
(二)text:页面源代码(字符串类型查看)
print(response.text, type(response.text))
如果网页发生乱码,只需要根据页面指定编码方式解码即可
requests
默认使用ISO-8859-1的编码(ASCII),其也能够使用页面服务器所指定的编码方式UTF-8(万国码)、gbk(国标码)
response.encoding = 'utf-8'
or
response.encoding = 'gbk'
如果页面中没有charset = ‘编码’ 怎么办?
response.encoding = None
(三)content:页面源代码(二进制形式(字节))
显示效果:
b’…’ —>图片、音频、视频都是这样
print(response.content)
(四)requests图片下载
以下载图片为例:
# 导入模块
import requests
# 图片网址链接
URL = 'https://game.gtimg.cn/images/yxzj/coming/v2/skins//image/20220623/16559919706669.jpg'
response = requests.get(url=URL)
#判断状态码是否为200,200表示正常通信
if response.status_code == 200:
print(response.content)
photo = open('1.jpg', 'wb')
photo.write(response.content)
photo.close()
else:
print(f'状态码:{response.status_code}')