Informationen zur grundlegenden Verwendung von Beautiful Soup finden Sie unter Scraping with Python and Beautiful Soup.
Dieses Mal hatte ich die Gelegenheit, Beautiful Soup mit HTML zu bearbeiten, also die Tipps, Memos und Memoranden der damals verwendeten Verarbeitung, na ja, so etwas. Update von Zeit zu Zeit (vielleicht)
for texttag in content.find_all('text'):
texttag.name = 'p'
Ersetzte alle " "
Suchen Sie das , das nicht in der Alternativ kann der gleiche Prozess durch das folgende Verfahren ausgeführt werden. Zu Ich denke, es wäre gut, so etwas zu tun
Ich habe das übergeordnete Element von " " entfernt Angenommen, Sie haben das folgende HTML Wenn sich neben dem eine Wenn Sie dies tun, wird es wie folgt bearbeitet
Recommended Posts
Fügen Sie Tags zu Elementen hinzu, die nicht von einem bestimmten Tag eingeschlossen sind
for imgtag in content.find_all('img'):
if not imgtag.parent.name in ['figure']:
imgtag.wrap(content.new_tag('figure'))
for notwrap_a in content.select("p ~ a"):
notwrap_a.wrap(content.new_tag("p"))
tag.find('li').unwrap()
first_li = tag.find('li')
first_li.name = 'p'
Entfernen Sie das übergeordnete Element eines bestimmten Elements
for p in soup.find_all('p'):
p.parent.unwrap()
Wickeln Sie das Element neben dem angegebenen Element zusammen
<img src="00001.jp">
<figcaption>caption string1</figcaption>
<img src="00002.jp">
<img src="00003.jp">
<figcaption>caption string3</figcaption>
html = "<img src="00001.jp">
<figcaption>caption string1</figcaption>
<img src="00002.jp">
<img src="00003.jp">
<figcaption>caption string3</figcaption>"
content = BeautifulSoup(html)
for img_tag in content.find_all('img'):
fig = content.new_tag('figure')
img_tag.wrap(fig)
next_node = img_tag.find_next()
if next_node and next_node.name == 'figcaption':
fig.append(next_node)
print(content)
<figure>
<img src="00001.jp"/>
<figcaption>caption string1</figcaption>
</figure>
<figure><img src="00002.jp"/></figure>
<figure>
<img src="00003.jp"/>
<figcaption>caption string3</figcaption>
</figure>