python爬取视频练习

该文章描述了一个使用Python的requests库获取YouTube视频页面源代码,然后通过正则表达式匹配`ytInitialPlayerResponse`,进一步解析JSON数据以获取视频和音频URL的过程。它涉及到网络请求、数据解析和代理使用。
摘要由CSDN通过智能技术生成

确认视频的url链接,发现url在网页源代码中,搜索定位【ytInitialPlayerResponse 】url所在地方

直接请求获取网页源代码,如果请求不了记得加个代理

import re
import requests
import json
proxy = {
    'https': 'http://127.0.0.1:7890',
}
headers = {
'cookie': 'VISITOR_INFO1_LIVE=G4e_gPQd0cw; SID=YwiHo9Loh3WwKF4Y6itkU12K6bbfjHiBUs8UY8zvJ6x0Z8W0uv6QBndg6rv5xyobqnmT_A.; __Secure-1PSID=YwiHo9Loh3WwKF4Y6itkU12K6bbfjHiBUs8UY8zvJ6x0Z8W0_bKqtVkRJiWZSzKBs4B4uA.; __Secure-3PSID=YwiHo9Loh3WwKF4Y6itkU12K6bbfjHiBUs8UY8zvJ6x0Z8W0vQJzfTgqgUle5wWFFl0V0A.; HSID=AVp3OaBf0q-gNhFuY; SSID=A_zMeOHNygYct2NgV; APISID=oMBsI0z8JJRWNE_6/A9Wp9tAugnUdSexhX; SAPISID=qbayVURoZcDrgMfq/A0iaDyQno8filqgx6; __Secure-1PAPISID=qbayVURoZcDrgMfq/A0iaDyQno8filqgx6; __Secure-3PAPISID=qbayVURoZcDrgMfq/A0iaDyQno8filqgx6; LOGIN_INFO=AFmmF2swRAIgDKsTQvjy3tepF3YI20S-rRa3audzN-_LCNP8piHptRoCIGPdYSN5ajP3uGg-USUyYD5Shxfn6kjXZF8rAEDjw2Q7:QUQ3MjNmelQxQ0hvMllSRUFFVmwwMU5GMTRSZ3pZSmhJbUlCS2lfWjlLellUYmYxMmMzcDNNQ2hQeTZadk5vX2ZsVENuaThJNFBRcTIyeXZXVkM0LW0zbWpVUWpNRkJVR2Q5cXdrWlN0VHBpeW5DOW51N2psMUJ0QjAzNjhWcWdOV05DT2RBZ21mSE13ZUJ4dzJ2dWlfSUlCRHdKNTYzUGxB; PREF=tz=Asia.Shanghai&f4=4000000; YSC=rziCz0VbbH0; SIDCC=APoG2W_nRyfqPcYyPBIkhnAuVf2Q4XC_yqLZsgPOr4prJwtzMwP3gDJACOsTzy-9VTkOdRmSBOE; __Secure-1PSIDCC=APoG2W-F0PwVMgTJMvKwX5crwO_3Je1Fjx6OWZ86QIATT44jCD05abUJYZvsedk73D8BRd639rk; __Secure-3PSIDCC=APoG2W-6z1OoGY6nt6o3TU0zj9KZmTS-xSslrd9ixs4Xo0gb1DCK8_QWwyX8ZxMwYZqcXdIhtuc',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
url = 'https://www.youtube.com/watch?v=_li5axTPJVM'
r =requests.get(url, headers=headers,proxies=proxy).text

正则匹配出url所在地方

json_str = re.findall('var ytInitialPlayerResponse = (.*?);var', r)[0]

转换为json格式便于获取url

json_data = json.loads(json_str)
video_url = json_data['streamingData']['adaptiveFormats'][0]['url']
audio_url = json_data['streamingData']['adaptiveFormats'][-1]['url']

获取到视频音频url直接requests请求下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值