Explorer
/tmp/aa043_p29_r6_playability_probe.py
← Zurück ↓ Download
import requests,re,json,datetime
ids=['P_gY0uz2xOo','9LBSIqAIkis','sKfhEQnAT0c','u1hmak0GoDU']; out=[]
for vid in ids:
 t=requests.get('https://www.youtube.com/watch?v='+vid,headers={'User-Agent':'Mozilla/5.0'},timeout=30).text
 vals=[]
 for pat in [r'"playabilityStatus":\{.{0,1200}?\}',r'"status":"(?:ERROR|OK)".{0,500}',r'"reason":".{0,300}?"',r'"errorScreen":\{.{0,800}?\}']:
  vals += re.findall(pat,t,re.I|re.S)
 clean=[]
 for x in vals:
  x=re.sub(r'\\u0026','&',x); x=re.sub(r'\\"','"',x)
  if x not in clean: clean.append(x[:1500])
 out.append({'youtube_id':vid,'snippets':clean[:8]})
print(json.dumps({'checked_at_utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'results':out},ensure_ascii=False))