我正在尝试为字幕抓取一个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)
请指教.