Я предлагаю сделать values
a dict
. Если soup.findAll
возвращает список кортежей, как вы, вероятно, подразумеваете, то это так просто:
values = dict(soup.findAll('input',checked="checked"))
После этого вы можете просто ссылаться на значения по имени их атрибута, например, как сказал Питер.
Конечно, если soup.findAll
не возвращает список кортежей, как вы предполагали, или если ваша проблема в том, что сами кортежи возвращаются каким-то странным способом (например, вместо ('name', 1) это будет (1, 'name')), тогда это может быть немного сложнее.
С другой стороны, если soup.findAll
вернет один из определенного набора типов данных (dict или список dicts, namedtuple или список namedtuples), то на самом деле вам будет лучше, потому что вам не придется сделайте любое преобразование в первую очередь.
... Да, после проверки документации BeautifulSoup кажется, что findAll
возвращает объект, который можно рассматривать как список диктов, так что вы можете просто сделать, как говорит Питер.
http://www.crummy.com/software/BeautifulSoup/documentation.html#The%20attributes%20of%20Tags
Ах да, если вы хотите перечислить атрибуты, просто сделайте что-то вроде этого:
for cell in values:
for attribute in cell:
out.write(attribute + ';' + str(cell[attribute]) + ';\r')