爬取糗事小百科上的视频
简单的一下:只爬取一个页面上的(可以爬取多个页面)用到了拼接format以及list的遍历的等等小的知识点
import requests import re #下面这个就是伪装成浏览器正常访问浏览器 headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#创建头部信息 # url = 'https://www.qiushibaike.com/video/page/{}'这三个用于分页情况下多网页进行操作。不用的话就只爬取一个页面的的。 # for i in range(1,4): # print(url.format(i)) url = 'https://www.qiushibaike.com/video' resp = requests.get(url,headers=headers) #print( resp )得到一个响应状态吗。200表示成功然后418表示反爬 #print( resp.request.headers )这里就是为神魔需要伪装成浏览器 #print(resp.text)可以看成返回全部的内容 #下面的第一个参数是查找的规则,第二个参数是数据 # r表示原始字符()表示只要()里面的东西。.表示任意字符*表示任意个数 info = re.findall(r'<source src="(.*)" type=\'video/mp4\' />',resp.text) #print(type(info))可以查看他的数据类型经过测试说明提取出来的数据是一个列表 lst=[] #用于存储拼接后的url for item in info: lst.append('https:'+item) #这样哪些连接的颜色就变了 #print(lst)进行输出查看 #-------剩下的工作就是下载。以上已经获取到了所有的连接。 '''接下来一个一个发请求''' count=0 for item in lst: #发送请求 resp=requests.get(item,headers=headers) count+=1 #上下文管理(视频保存到哪里)第一个参数为位置第二个参数为打开方式,str的作用是类型转换 with open('video/'+str(count)+',mp4','wb') as file: #写入到本地磁盘 file.write(resp.content) #content说明的是二进制的而text是文本 print("视频下载完毕")