使用 BeautifulSoup 获取 Link 标题

Getting Link Title Using BeautifulSoup

我正在尝试使用 BeautifulSoup 解析链接的标题。我尝试了各种方法,但就是无法正常工作。

html 需要登录,所以这里是屏幕截图:

这是我最近的尝试,我确信它会奏效,但只是 returns“None”。

from bs4 import BeautifulSoup

soup = BeautifulSoup(driver.page_source, 'html.parser')
links = soup.find_all('ul', class_='nav list-group')
print(links)

for link in links:
    title = link.get('title')
    print(title)

谁能看出我做错了什么?

这行代码:

links = soup.find_all('ul', class_='nav list-group')

不是提取链接,而是提取 <ul> 标签。相反,您可以尝试使用以下内容提取链接:

links = soup.find_all('a', class_='odds')

然后您将能够遍历它们并提取您的标题:

for link in links:
   print(link['title'])

会发生什么?

您选择的是 <ul> 而不是 <a>,因此您不会获得任何 href 值。

如何修复?

Select 更具体,例如使用这些 css selector 将在您的 <ul>:

中找到所有具有 title 属性的 <a>
links = soup.select('ul.nav.list-group a[title]')

例子

注意: 你的问题需要一些改进,所以你应该提供 driver.page_source 的特定部分作为文本而不是图像 - 获取你的代码, 所以这只是一个提示。

from bs4 import BeautifulSoup

soup = BeautifulSoup(driver.page_source, 'html.parser')

for link in soup.select('ul.nav.list-group a[title]'):
    title = link.get('title')
    print(title)