初次学习python爬虫 实战糗事百科

初次学习python爬虫 实战糗事百科
高二在家实在无聊(可能作业太少了)就学习了一下python爬虫,之前有过一点python基础,这两天掌握了一下requests库 urllib库 还有bs4 和xpath的用法 算是用这个给自己做一个记录吧 记录一下自己小白的学习成果
今天爬一下糗事百科的视频吧 没事的时候还可以看看 也是蛮不错的
今天用到的库: re requests 还有bs4 (自己的xpath用的不太习惯 所以选择Bs4)

from bs4 import BeautifulSoup
import  re
import requests

糗事百科网站:https://www.qiushibaike.com/video/
打开以后 F12发现:在这里插入图片描述
这个就是我们想要的链接了 通过BeautifulSoup和re就可以提取里面的链接了
先解析一下这个网页

res = requests.get(url=url,headers=headers).text       #对目标站点发送请求
html = BeautifulSoup(res,'lxml')                       #解析

然后分析一下这个网页,这个网页很好分析 因为这个链接在video 这个标签下 所以 定位到这里
我们可以写正则表达式了 然后正则匹配就可以了

vid = re.compile(r'<source src="//(.*?)" type="video/mp4"/>')   
for item in html.find_all('video',controls="controls"):
	item = str(item)
	video_list = re.findall(vid,item)
	num = num+1
	

在这里插入图片描述

在for循环外设置一个累加器 等下视频用它来当作名字
接下来就要用for循环遍历一下这个列表也就是video_list 也就是两个循环的嵌套。获得地址以后 给他的前面加上https就可以获得完整地址 再发送请求就可以了 headers 自己填自己的就好了

for video_url in video_list :
	video_urls = 'Https://'+str(video_url)
	response = 	requests.gett(url=video_urls,headers=headers).content    #转化成二进制
	with open('video/'+str(num)+'.mp4','wb')  as file:
		file.write(response)

这样 就写完了 还是挺简单的 在自己当前目录创建一个文件夹就可以了

完整代码

from bs4 import BeautifulSoup
import  re
import requests
url = 'https://www.qiushibaike.com/video/'
res = requests.get(url=url,headers=headers).text       #对目标站点发送请求
html = BeautifulSoup(res,'lxml')  
vid = re.compile(r'<source src="//(.*?)" type="video/mp4"/>')   
num = 0
for item in html.find_all('video',controls="controls"):
	item = str(item)
	video_list = re.findall(vid,item)
	num = num+1 
	for video_url in video_list :
		video_urls = 'Https://'+str(video_url)
		response = 	requests.gett(url=video_urls,headers=headers).content    #转化成二进制
		with open('video/'+str(num)+'.mp4','wb')  as file:
			file.write(response)

         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值