【发布时间】:2021-06-02 07:56:02
【问题描述】:
我正在使用 bs4 和 python 3.6 我的问题是有一个 youtube 搜索页面,我想获取其中第一个视频的链接,所以我在检查该锚标记的 id 后发现是 video-title 和我使用该参数来查找使用以下代码的标签以及每个视频的锚标签的链接具有与video-title 相同的ID 所以我决定使用find 而不是find_all
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
soup =BeautifulSoup(requests.get('https://www.youtube.com/results?search_query=unravel').text,'lxml')
link = soup.find('a',id="video-title")
print(link)
但作为回报,它会给予
None
我已尝试获取所有锚标记,但这也不包括我想要的标记。
谁能说出问题出在哪里?
【问题讨论】:
-
Youtube 使用动态数据渲染意味着数据是由 JS 渲染的,如果你打印汤,你将找不到
a tag,所以你可以尝试使用 selenium api 或 youtube python 包 -
@Bhavya 你能详细说明一下吗
标签: python web-scraping beautifulsoup python-requests