【问题标题】:Dynamically assign variables to items in for loop from beautiful soup从美丽的汤中动态地将变量分配给for循环中的项目
【发布时间】:2017-09-20 21:32:52
【问题描述】:

我正在使用 Beautiful Soup 抓取一些内容,我在脚本中返回三个项目并希望将值分配给变量。

for categories in item_soup.find_all('div', {'class': 'breadcrumbs'}):
    for categories in categories.find_all('a', {'title': ''}):
        categories = categories.get_text()
        print(categories)

这会返回:

category1
category2
category3

如何将单个变量分配给每个类别以供以后使用?我曾考虑过使用 [0:1] 切片技术,但它会返回每个值的切片字母。我尝试将这些项目转换为列表或集合,但没有成功。

干杯,

【问题讨论】:

    标签: python for-loop beautifulsoup


    【解决方案1】:

    如果我理解正确,您应该使用list 存储所有类别:

    result = []    
    for categories in item_soup.find_all('div', {'class': 'breadcrumbs'}).categories.find_all('a', {'title': ''}):
        categories = categories.get_text()
        result.append(categories)
    

    另外,你也可以使用list comprehension

    【讨论】:

    • 谢谢,我在尝试打印特定值时看到以下错误。 print(results[1]) IndexError: list index out of range print(result[0]) 将返回整个列表,而不是第一个对象。
    • 已解决:某些结果仅返回 1 个对象,因此在这些实例中生成了超出范围的索引错误。添加了一个尝试与索引错误期望来解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多