Je me demandais si quelqu'un savait comment ajouter du texte à une étiquette (p, b - n'importe quelle étiquette où vous pourriez inclure des données de caractères). La documentation ne mentionne pas où vous pourriez faire cela.Ajout de texte à l'étiquette p dans Beautiful Soup
3
A
Répondre
4
Je ne sais pas exactement si c'est ce que vous voulez, mais peut-être il est un début ...
from BeautifulSoup import BeautifulSoup, NavigableString
html = "<p></p>"
soup = BeautifulSoup(html)
ptag = soup.find('p')
ptag.insert(0, NavigableString("new"))
print ptag
Sorties
<p>new</p>
Les documentations montre quelques exemples similaires: http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree
1
>>> import BeautifulSoup
>>> b=BeautifulSoup.BeautifulSoup("<p></p><p></p>")
>>> for t,s in zip(b,[u'hello',u'world']):
... t.contents.append(BeautifulSoup.NavigableString(s))
...
>>> b
<p>hello</p><p>world</p>
Avez-vous réussi à obtenir ce résultat en utilisant la réponse fournie? Si non, pourriez-vous élaborer sur ce que vous cherchiez à la place? – swanson
Oui j'utilisais le type NavigableString. Désolé pour la réponse lente. J'aime vraiment Beautiful Soup mais j'aurais aimé que la documentation soit un peu plus claire. Cela semble être une tâche relativement commune. – illuminatedtiger