Python 无法使用pyhton中的bs4获取特定标记?

Python 无法使用pyhton中的bs4获取特定标记?,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我是beautifulsoup的新手,我使用的是bs4和pyhton 3.6。我的问题是有一个yt搜索页面,我想获取其中第一个视频的链接,所以我在检查后发现,该锚定标记的id是视频标题,我使用该参数发现使用以下代码的标记也包含每个视频锚定标记的链接与video title相同的id,因此我决定使用find而不是find\u all from urllib.request import urlopen from bs4 import BeautifulSoup import requests s

我是beautifulsoup的新手,我使用的是bs4和pyhton 3.6。我的问题是有一个yt搜索页面,我想获取其中第一个视频的链接,所以我在检查后发现,该锚定标记的id是
视频标题
,我使用该参数发现使用以下代码的标记也包含每个视频锚定标记的链接与
video title
相同的id,因此我决定使用
find
而不是
find\u 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
我还试图得到所有的锚标签,但也没有包括我想要的标签。 谁能说出问题出在哪里

您可以使用此“\watch?v=\w+”使链接比bs4更简单☺


将selenium与regex结合使用可获得最佳效果

Youtube使用动态数据呈现意味着数据由JS呈现,而且如果打印soup,您将无法找到标记,因此您可以尝试使用selenium api或Youtube pythonpackage@Bhavya你能详细解释一下吗