小编M4c*_*k13的帖子

无法抓取YouTube视频的隐藏字幕

我正在尝试为字幕抓取一个YouTube页面.不幸的是,它没有按要求加载所有内容.我很想知道我哪里出错了.

请求参数:

https://www.youtube.com/timedtext_editor?action_mde_edit_form=1&v=Nxb2s2Mv6Pw&lang=en&bl=vmp&forceedit=captions&tab=captions
Run Code Online (Sandbox Code Playgroud)

所以我发现这是唯一的Url-ID ...... Nxb2s2Mv6Pw我可以相应地替换它.

如果我运行下面的代码,它不会捕获<textarea yt-uix-form-input-textarea ...>我需要它找到的标记.

我拼命想避免使用Selenium捕获它,因为我有很多链接需要迭代并重复这个过程.正如你可以通过下面的代码告诉我的,我试图加入一个延迟的时间等待页面加载,但没有.

import os
import codecs
import sys
import requests
from bs4 import BeautifulSoup

channel = 'https://www.youtube.com/timedtext_editor?action_mde_edit_form=1&v=dto4koj5DTA&lang=en'
s = requests.Session()
time.sleep(5)
# s.headers['User-Agent'] = USER_AGENT
r = s.get(channel)
time.sleep(5)
html = r.text
soup = BeautifulSoup(html, 'lxml')

for i in soup.find_all('div'):
    print(i)
Run Code Online (Sandbox Code Playgroud)

请指教.

python beautifulsoup web-scraping python-requests

5
推荐指数
1
解决办法
1378
查看次数