J'ai ce code qui va chercher un texte à partir d'une page à l'aide BeautifulSoupPython belle arguments de soupe
soup= BeautifulSoup(html)
body = soup.find('div' , {'id':'body'})
print body
Je voudrais faire cela en fonction réutilisable qui prend dans certains htmlText et les balises pour le match comme suivant
def parse(html, atrs):
soup= BeautifulSoup(html)
body = soup.find(atrs)
return body
Mais si je fais un appel comme celui-ci
parse(htmlpage, ('div' , {'id':'body'}")) or like
parse(htmlpage, ['div' , {'id':'body'}"])
Je ne reçois que l'élément div, l'attribut body semble ignoré.
Y at-il un moyen de résoudre ce problème?
Merci pour votre réponse, cela a fonctionné. Je ne savais pas que l'on pouvait décompresser les listes en utilisant *, pensant que seuls les dicts fonctionnaient comme ça en utilisant * \ *. – scott
@scott: lire l'article Mark lié à dans sa réponse –
@EliBendersky Great! Mais aucune idée comment nous pourrions déballer une seule clé de dictionnaire (comme "class" dans 'del tag [" class "]')? http://stackoverflow.com/questions/41792761/calling-and-using-an-attribute-stored-in-variable-using-beautifulsoup-4 – JinSnow