Python 3.x 程序未解析<;a>;标签
我想解析突出显示的a标记,我想从中获得href链接 -显示在 这是我正在使用的代码Python 3.x 程序未解析<;a>;标签,python-3.x,Python 3.x,我想解析突出显示的a标记,我想从中获得href链接 -显示在 这是我正在使用的代码 from bs4 import BeautifulSoup import requests source = requests.get('https://www.youtube.com/watch?v=Iqjy9UqKKuo&list=PLQVvvaa0QuDc-3szzjeP6N6b0aDrrKyL-').text soup = BeautifulSoup(source, 'html.parser'
from bs4 import BeautifulSoup
import requests
source = requests.get('https://www.youtube.com/watch?v=Iqjy9UqKKuo&list=PLQVvvaa0QuDc-3szzjeP6N6b0aDrrKyL-').text
soup = BeautifulSoup(source, 'html.parser')
matchDescription = soup.find('a', class_='yt-simple-endpoint')
print(matchDescription.get('href'))
但它在输出中给出了错误,我做错了什么
错误:-“NoneType”对象没有属性“get”-对于程序的最后一行元素选项卡显示浏览器当前的DOM,而不是加载的HTML。HTML标准和运行JavaScript代码都可以并且确实会在事后改变加载和解析的HTML,因此您不能指望Elements选项卡向您显示将为脚本提供的内容,提供的HTML没有要解析的
元素。如何获取href链接与加载页面时使用的链接不完全相同,只有添加了&index=0
?您可以使用类似于运行本地无头浏览器的项目来加载和执行附加到页面的Javascript,然后从那里解析生成的页面结构。然而,在大多数情况下,杀伤力过大。我想看看Youtube是否提供了一个合适的API来为您提供相同的信息,而不必刮去他们面向公众的web UI。