0

Q1. テーブルからデータを抽出する方法はありますが、軸のタイトルを追跡することはできますか? Q2. HTMLテーブルからデータを抽出するには、どのアプローチが良いでしょうか? HTMLParser か、beautifulsoup か、それ以外か?

私はこの所得表を抽出しようとしていました http://investing.businessweek.com/research/stocks/financials/financials.asp?ticker=TSCO:LN

なりたい

"百万ポンド単位の通貨","2009","2010","2011","2012"

「収益」、「53,898.0」、「56,910.0」、「60,455.0」、「64,539.0」

「総収益」、「53,898.0」、「56,910.0」、「60,455.0」、「64,539.0」

とりあえず知りたいのは「56,910.0」が2009年の売上です

しかし、私は2つの問題を経験しました:

  1. HTMLParser.HTMLParseError: 不正な形式の開始タグ、行 1148、列 47 または HTMLParser.HTMLParseError: 不正な終了タグ: ""、行 225、列 104

  2. 軸のタイトルを追跡できない

どうもありがとう

4

1 に答える 1

0

私はかなりの量のスクレイピングを行ってきましたが、BeautifulSoup が期待を裏切ることはめったにありません。


from BeautifulSoup import BeautifulSoup 
URL = "http://investing.businessweek.com/research/stocks/financials/financials.asp?ticker=TSCO:LN"
from urllib import urlopen
HTML = urlopen ( URL )
soup = BeautifulSoup ( HTML )
statement = soup . find ( 'table', { 'class' : "financialStatement" } )
rows = statement . findAll ( 'tr' )

この時点で、行の長さが 25 で、最初の項目がヘッダーで、最後が目的のテーブルの最後の行であることがわかると思います。

于 2013-03-11T19:41:14.313 に答える