私はBeautifulSoupを使用してウェブサイトからデータをスクレイピングしています。何らかの理由で、span要素間のテキストを印刷する方法を見つけることができないようです。ここに私が走っていることがあります。掻き取り<span>フローテキスト</span>とBeautifulSoupとurllib
data = """ <div class="grouping">
<div class="a1 left" style="width:20px;">Text</div>
<div class="a2 left" style="width:30px;"><span
id="target_0">Data1</span>
</div>
<div class="a3 left" style="width:45px;"><span id="div_target_0">Data2
</span></div>
<div class="a4 left" style="width:32px;"><span id="reg_target_0">Data3
</span</div>
</div>
"""
私の究極の目標は、各エントリのリスト[「テキスト」、「データ1」、「データ2」を]印刷することがになります。しかし、今、私はpythonとurllibを得ることに問題があります。
import urllib
from bs4 import BeautifulSoup
url = 'http://target.com'
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html, "lxml")
Search_List = [0,4,5] # list of Target IDs to scrape
for i in Search_List:
h = str(i)
root = 'target_' + h
taggr = soup.find("span", { "id" : root })
print taggr, ", ", taggr.text
私はurllibは使用し、この生成します:ここで私が実行しているものですが
<span id="target_0"></span>,
<span id="target_4"></span>,
<span id="target_5"></span>,
を、私はまた、htmlファイルをダウンロードして、私はダウンロードしたファイルを解析する際には、(この出力を生成します私が欲しいもの):
誰かが私に説明してくれた理由は、結果が出ないのですか?
あなたが解析したいサイトの実際のURLを教えてください。 –