2017-09-20 19 views
0

我使用Beautiful Soup网页浏览了一些内容,我在脚本中返回了三个项目,并且想要将这些值分配给变量。从美丽的汤动态地分配变量到for循环中的项目

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]切片技术,但每个值会返回切片字母。我试图将项目转换为列表或设置,但没有运气。

干杯,

回答

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

+0

谢谢,我看到的错误下面的时候试一下并打印一个具体的值。 打印(结果[1]) IndexError:列表索引超出范围 打印(结果[0])将返回的整个列表,而不是第一个对象。 – Jack

+0

已解决:某些结果只返回1个对象,因此在这些实例中生成超出范围的索引错误。增加了一个试图解决索引错误的期望。 – Jack