私は次のようにBeautifulSoupを使用して、HTMLテーブルの簡単な擦り傷をしようとしています:BeautifulSoup HTMLテーブルスクレープ - 最後の行のみが返されます
import urllib
import urllib.request
from bs4 import BeautifulSoup
def make_soup(url):
page = urllib.request.urlopen(url)
sdata = BeautifulSoup(page, 'html.parser')
return sdata
url = 'http://www.satp.org/satporgtp/countries/pakistan/database/bombblast.htm'
soup = make_soup(url)
table = soup.findAll('table', attrs={'class':'pagraph1'})
table = table[0]
trows = table.findAll('tr')
bbdata_ = []
bbdata = []
for trow in trows:
bbdata_ = trow.findAll('td')
bbdata = [ele.text.strip() for ele in bbdata_]
print(bbdata)
しかし、私は、テーブルで、すなわち最後の行を抽出することができます
['Total*', '369', '1032+']
データのすべてがtrows
に含まれているので、私は間違って私のループを形成しなければならないが、私はどのように確認していません。
一つのために注意: >>> bbdata =リスト(範囲(3)) >>> bbdata = bbdata.append(5) >>>すなわちbbdata 、bbdata.append(何でも) Noneを返します。 –
おそらく**拡張**が必要です。 ** append **と同様に、** None **を返します。だからあなたは代入文で*使用しません。 ** bbdata.extend(何か他のもの)**を単独で書きます。 –
新しい質問がある場合は、質問に回答からコードを追加しないでください。あなたのコメントのために –