maxliu06 发表于 2020-5-18 16:12:15

爬取视频 ,求教问题出在哪里??保存不了

import requests
import 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输出的结果就已经是视频的地址了 (点击该结果就会跳转到 该视频播放页面。)







qiuyouzhi 发表于 2020-5-18 16:17:53

前面得加上https://的,不然不是一个标准的URL

March2615 发表于 2020-5-18 16:23:39

视频播放页面≠视频下载地址
你还得继续分析播放页面,找到真正的视频地址才行
(我肯定不行,B站本来也不支持电脑端下载视频,不过可以用其他软件下B站的视频)

Twilight6 发表于 2020-5-18 16:44:24


https://blog.csdn.net/shelgi/article/details/104228656


建议看下这边篇文章,也是爬b站视频的,b站视频blob加密了

maxliu06 发表于 2020-5-18 16:56:44

Twilight6 发表于 2020-5-18 16:44

https://blog.csdn.net/shelgi/article/details/104228656



感谢感谢

Twilight6 发表于 2020-5-18 16:58:51

maxliu06 发表于 2020-5-18 16:56
感谢感谢

如果对你有帮助记得设置最佳哈~~~{:10_287:}
页: [1]
查看完整版本: 爬取视频 ,求教问题出在哪里??保存不了