Also, ich möchte die Alben und Lieder von dieser Seite mit Beautiful Suppe kratzen. Das HTML sieht wie folgt aus: Album::Extrahieren von HTML-Text zwischen Elementen
<div id="listAlbum">
<a id="19215"></a>
<div class="album">
"album: "
<b>"3 Feet High And Rising"</b> == $0
" (1989)"
</div>
<a href="https://www.azlyrics.com/lyrics/delasoul/intro.html" target="_blank">Intro
</a>
<br>
<a href="https://www.azlyrics.com/lyrics/delasoul/themagicnumber.html" target="_blank">The Magic Number</a>
<br>
<a href="https://www.azlyrics.com/lyrics/delasoul/changeinspeak.html" target="_blank">Change In Speak</a>
<br>
ich diesen extrahieren möchten 3 Feet High And Rising Songs: Intro, die magische Zahl, Veränderung In Speak
ich damit die Alben bekam:
allAlbums = soup.findAll('div', {"class" : "album"})
for a in allAlbums:
albumName = str(a.text)[7:]
print('album: ' + str(a))
Ich kann nicht herausfinden, wie man die Lieder bekommt. Ich habe diese versucht:
for s in soup(text = re.compile(r'target="_blank">')):
print(s.parent)
Irgendwelche Ideen?
, das funktioniert. Vielen Dank. Ein paar Fragen: 1) Woher wussten Sie, BeautifulSoup (html_content, "lxml") zu verwenden? 2) Wie funktioniert supp.select hier? Ist das zweite Argument "#listAlbum a" auf das "a" in "a href" bezogen? – pierce
Ihre erste Frage ist unklar. Wie für Ihre zweite Frage: 'suppen.select' funktioniert wie css Selektoren tut. Vielleicht möchten Sie diese Dokumentation [BeautifulSoup] (https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) durchgehen. Und was deine letzte Frage betrifft: Nein, dieses '#' bezieht sich nicht auf a. Das ist das Symbol von 'ID', also bezieht es sich auf 'id = "listAlbum" '. Achten Sie darauf, dies als eine Antwort zu markieren. Vielen Dank. – SIM