私はPythonでウェブスクレイピングするのがとても新しく、HTML内でネストされたテキストを抽出するのに苦労しています(p
内div
)。ここで私はこれまで得たものである:BeautifulSoupで `div`内の` p`からテキストを抽出します
from bs4 import BeautifulSoup
import urllib
url = urllib.urlopen('http://meinparlament.diepresse.com/')
content = url.read()
soup = BeautifulSoup(content, 'lxml')
これは正常に動作します:
links=soup.findAll('a',{'title':'zur Antwort'})
for link in links:
print(link['href'])
この抽出は、正常に動作します:
table = soup.findAll('div',attrs={"class":"content-question"})
for x in table:
print(x)
は、これが出力されます。
<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>
今、0123以内にテキストを抽出したいおよび/p
。これは私が使用するコードです:
table = soup.findAll('div',attrs={"class":"content-question"})
for x in table:
print(x['p'])
しかし、PythonはKeyError
を発生させます。