爬取视频 ,求教问题出在哪里??保存不了
import requestsimport os
import re
url = 'https://search.bilibili.com/all?keyword=python&from_source=nav_suggest_new&page='
headers ={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}
page = 1
url = url+str(page)
res = requests.get(url=url,headers = headers )
html = res.text
data = re.findall('<li class="video-item matrix"><a href="//(.*?)" title=".*?" target="_blank" class="img-anchor">',html)
video = data
# print(video) # 输出结果: www.bilibili.com/video/BV1xs411Q799?from=search
filename = 'python'+'.mp4'
#for i in data:
# print(i)
with open ('python视频教程爬取'+'/'+filename,mode='wb' ) as f:
res = requests.get (url = video ,headers = headers )
f.write(res.content)
错误提示:
www.bilibili.com/video/BV1xs411Q799?from=search
Traceback (most recent call last):
File "D:/python/project/python视频教程爬取.py", line 30, in <module>
res = requests.get (url = video ,headers = headers )
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 516, in request
prep = self.prepare_request(req)
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 449, in prepare_request
p.prepare(
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\models.py", line 314, in prepare
self.prepare_url(url, params)
File "C:\Users\handsome\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\models.py", line 388, in prepare_url
raise MissingSchema(error)
requests.exceptions.MissingSchema: Invalid URL 'www.bilibili.com/video/BV1xs411Q799?from=search': No schema supplied. Perhaps you meant http://www.bilibili.com/video/BV1xs411Q799?from=search?
保存不了, video输出的结果就已经是视频的地址了 (点击该结果就会跳转到 该视频播放页面。)
前面得加上https://的,不然不是一个标准的URL 视频播放页面≠视频下载地址
你还得继续分析播放页面,找到真正的视频地址才行
(我肯定不行,B站本来也不支持电脑端下载视频,不过可以用其他软件下B站的视频)
https://blog.csdn.net/shelgi/article/details/104228656
建议看下这边篇文章,也是爬b站视频的,b站视频blob加密了 Twilight6 发表于 2020-5-18 16:44
https://blog.csdn.net/shelgi/article/details/104228656
感谢感谢 maxliu06 发表于 2020-5-18 16:56
感谢感谢
如果对你有帮助记得设置最佳哈~~~{:10_287:}
页:
[1]