Je suis en train d'analyser une forme html avec une belle soupe. Fondamentalement, j'ai environ 60 champs d'entrée, principalement des boutons radio et des cases à cocher. Jusqu'à présent, cela fonctionne avec le code suivant:liste associative python
from BeautifulSoup import BeautifulSoup
x = open('myfile.html','r').read()
out = open('outfile.csv','w')
soup = BeautifulSoup(x)
values = soup.findAll('input',checked="checked")
# echoes some output like ('name',1) and ('value',4)
for cell in values:
# the following line is my problem!
statement = cell.attrs[0][1] + ';' + cell.attrs[1][1] + ';\r'
out.write(statement)
out.close()
x.close()
En indiquant dans le code mon problème ist où les attributs sont sélectionnés, car le modèle HTML est laid, mélanger la séquence d'arguments qui appartiennent à un champ de saisie. Je suis intéressé par name = "somenumber" value = "someothernumber". Malheureusement, ma méthode attrs [1] ne fonctionne pas, car le nom et la valeur n'apparaissent pas dans la même séquence dans mon code HTML.
Existe-t-il un moyen d'accéder associativement à la liste BeautifulSoup qui en résulte?
Merci d'avance pour toute suggestion!
pour moi, une boucle était suffisante .. s'il vous plaît voir mon commentaire aux réponses de Peter. –