Python 如何访问youtube第一次搜索结果?

Python 如何访问youtube第一次搜索结果?,python,html,beautifulsoup,download,youtube,Python,Html,Beautifulsoup,Download,Youtube,事实上,我尝试了一个代码,但它不工作,有人能帮我修复它吗 实际上是说视频链接没有定义 我认为汤中的链接出错。查找所有('a'): 但这是一个错误要获得YouTube HTML页面的正确版本,请使用正确的用户代理HTTP头 例如: import requests from bs4 import BeautifulSoup search = 'tree' headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http

事实上,我尝试了一个代码,但它不工作,有人能帮我修复它吗

实际上是说视频链接没有定义

我认为汤中的链接出错。查找所有('a'):


但这是一个错误

要获得YouTube HTML页面的正确版本,请使用正确的
用户代理
HTTP头

例如:

import requests
from bs4 import BeautifulSoup

search = 'tree'

headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'}

html = requests.get('https://www.youtube.com/results?search_query='+search, headers=headers).text
soup = BeautifulSoup(html, 'html.parser')
for link in soup.find_all('a'):
    if '/watch?v=' in link.get('href'):
      print(link.get('href'))
      # May change when Youtube Website may get updated in the future.
      video_link = link.get('href')
印刷品:

/watch?v=ZKAM_Hk4eZ0
/watch?v=ZKAM_Hk4eZ0
/watch?v=wCQfkEkePx8
/watch?v=wCQfkEkePx8
/watch?v=Va0vs1fhhNI
/watch?v=Va0vs1fhhNI
/watch?v=kUDPr5xPYhM
/watch?v=kUDPr5xPYhM
/watch?v=kSjXOebB7eI
/watch?v=kSjXOebB7eI
/watch?v=IiDkVftBgak
/watch?v=IiDkVftBgak
/watch?v=F3hTW9e20d8
/watch?v=F3hTW9e20d8
/watch?v=Iy-dJwHVX84
/watch?v=Iy-dJwHVX84

... etc.

要获得YouTube HTML页面的正确版本,请使用正确的
User-Agent
HTTP头

例如:

import requests
from bs4 import BeautifulSoup

search = 'tree'

headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'}

html = requests.get('https://www.youtube.com/results?search_query='+search, headers=headers).text
soup = BeautifulSoup(html, 'html.parser')
for link in soup.find_all('a'):
    if '/watch?v=' in link.get('href'):
      print(link.get('href'))
      # May change when Youtube Website may get updated in the future.
      video_link = link.get('href')
印刷品:

/watch?v=ZKAM_Hk4eZ0
/watch?v=ZKAM_Hk4eZ0
/watch?v=wCQfkEkePx8
/watch?v=wCQfkEkePx8
/watch?v=Va0vs1fhhNI
/watch?v=Va0vs1fhhNI
/watch?v=kUDPr5xPYhM
/watch?v=kUDPr5xPYhM
/watch?v=kSjXOebB7eI
/watch?v=kSjXOebB7eI
/watch?v=IiDkVftBgak
/watch?v=IiDkVftBgak
/watch?v=F3hTW9e20d8
/watch?v=F3hTW9e20d8
/watch?v=Iy-dJwHVX84
/watch?v=Iy-dJwHVX84

... etc.

如果
video\u link
未定义,这意味着
If'/watch?v='在link.get('href')
中对于您找到的任何链接都不正确。我怀疑页面使用动态javascript来构建视频链接列表,而urllib/beautifulsoup不使用javascript。他们有没有其他方法来获取,
/watch?v=
数组中的URL如果
视频链接
未定义,这意味着
如果link.get('href')
中的“/watch?v=”不适用于您找到的任何链接。我怀疑页面使用动态javascript来构建视频链接列表,而urllib/beautifulsoup不使用javascript。他们有没有其他方法来获取,
/watch?v=
数组中的URL