【问题标题】:my .attrs function is not working in beautiful soup我的 .attrs 函数在漂亮的汤中不起作用
【发布时间】:2022-12-03 22:23:34
【问题描述】:

我是一名初级程序员,我正在尝试创建我的刽子手游戏并使用 Beautiful Soup 导入数据,但是当我复制与 youtuber 完全相同的东西时,他的代码有效而我的没有。我已经测试过,问题是.attrs 函数。

我试过查看我是否打错了字,但我很确定我没有,而且我还确保我已经下载了所有需要的包并多次浏览了教程。教程来自https://freecodecamp.org

import requests 
from bs4 import BeautifulSoup
result = 
requests.get('https://en.wikipedia.org/wiki/List_of_highest-grossing_films')

src = result.content
soup = BeautifulSoup(src, 'lxml')
results = []
for i in soup.find_all('th'):
    a_tag = i.find('a')
    results.append(a_tag.attrs['title'])

print(results)

【问题讨论】:

  • 似乎这与拼写错误无关,而不是您尝试在 NoneType 上使用它。请提供您的代码作为文本而不是图像。它更容易重现。谢谢
  • requests.get 不在框中,对于给您带来的不便,我们深表歉意
  • 感谢您的时间
  • 我如何在非类型上执行此操作
  • freecodecamp.org 是一个很好的资源,如果您对我的回答有任何疑问,请告诉我。有很好的学习经验。

标签: python beautifulsoup


【解决方案1】:

您收到错误是因为列表soup.find_all('th') 中的所有项目都没有标记a,如果您修复此问题,则并非所有项目都会有title,所以请尝试这样:

src = result.content
soup = BeautifulSoup(src, 'lxml')
results = []
for i in soup.find_all('th'):
    if i.find('a'):
        a_tag = i.find('a')
        if a_tag.get('title'):
                results.append(a_tag.attrs['title'])
print(results)

注意:我尽量不反映你的代码,我们可以让它变得更好:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多