Ich bin sehr neu im Web-Scraping mit Python und es fällt mir wirklich schwer, verschachtelten Text innerhalb von HTML() zu extrahieren, um genau zu sein). Hier ist, was ich habe, so weit:Extrahiere den Text von `p` innerhalb von` div` mit BeautifulSoup
from bs4 import BeautifulSoup
import urllib
url = urllib.urlopen('http://meinparlament.diepresse.com/')
content = url.read()
soup = BeautifulSoup(content, 'lxml')
Dies funktioniert:
links=soup.findAll('a',{'title':'zur Antwort'})
for link in links:
print(link['href'])
Diese Extraktion funktioniert:
table = soup.findAll('div',attrs={"class":"content-question"})
for x in table:
print(x)
Dies ist die Ausgabe:
<div class="content-question">
<p>[...] Die Verhandlungen über die mögliche Visabefreiung für
türkische Staatsbürger per Ende Ju...
<a href="http://meinparlament.diepresse.com/frage/10144/" title="zur
Antwort">mehr »</a>
</p>
</div>
Jetzt möchte ich den Text innerhalb vonextrahierenund /p
. Dies ist der Code, den ich verwenden:
table = soup.findAll('div',attrs={"class":"content-question"})
for x in table:
print(x['p'])
jedoch Python wirft eine KeyError
.