爬虫
爬虫(网络数据采集)
按照程序员的想法,由程序员自定义规则编写程序批量的爬取数据(图片、视频、音频、数据等)
爬虫的流程
1.解析HTML页面
2.根据前端的语法或者正则表达式提取数据
3.保存数据
常用的工具:requests、urllib、selenium、playwariter
requests:通过网址向服务器发送请求,等待服务器的响应结果(python中常用的工具)
安装第三方模块
pip install requests
requests的使用
import requests
URL = 'https://www.bilibili.com/'
response = requests.get(url=URL)
print(response) # <Response [200]>
status_code:状态码 -->判断服务器和网页状态
200:表示程序和服务器正常通信
403:表示服务器理解客服端的请求,但是拒绝了客服端请求。
404:网页丢失
500:服务器崩溃
print(response.status_code) #200
如果网页发生乱码,只需要根据页面指定编码方式解码即可
requests默认使用ISO-8859-1的编码(ASCII)
其也能使用页面服务器所指定的编码方式。
utf-8(万国码),gbk(国标码)
如果页面没有charset=‘编码’,response.encoding=None
response.encoding = 'gbk' #如果乱码,CTRL+F查看charset='' 中使用的是什么码在用此方式转换
text:页面源代码(字符串类型)
print(response.text,type(response.text))
content:页面源代码(二进制形式(字节))
b’…’ -->图片、音频、视频
print(response.content)
requests的图片视频下载
import requests
import requests
# URL='https://game.gtimg.cn/images/yxzj/coming/v2/skins//image/20220623/16559919637365.jpg'
URL = 'https://video.pearvideo.com/mp4/adshort/20220614/cont-1765337-15895934_adpkg-ad_hd.mp4'
response = requests.get(url=URL)
if response.status_code ==200:
print(response.content)
# 将图片写入本地文件
# photo =open('1.jpg','wb')
# photo.write(response.content)
# photo.close()
video =open('1.mp4','wb')
video.write(response.content)
video.close()
else:
print(f'状态码:{response.status_codes}')
上述注释了的是图片,没注释的是视频操作演示。