Python 如何访问youtube第一次搜索结果?
事实上,我尝试了一个代码,但它不工作,有人能帮我修复它吗 实际上是说视频链接没有定义 我认为汤中的链接出错。查找所有('a'):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
但这是一个错误要获得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