BeautifulSoupを使用してthis data tableの最初と3番目の列を抽出しようとしています。 HTMLを見ると、最初の列には<th>
というタグがあります。関心のある他の列には<td>
というタグがあります。いずれにしても、私が手に入れたのは、タグ付きの列のリストだけです。しかし、私はそのテキストがほしいだけです。BeautifulSoupを使用してテーブルから選択した列を抽出する
table
はすでにリストになっていますので、私はfindAll(text=True)
を使用できません。私は別の形式で最初の列のリストを取得する方法がわかりません。
from BeautifulSoup import BeautifulSoup
from sys import argv
import re
filename = argv[1] #get HTML file as a string
html_doc = ''.join(open(filename,'r').readlines())
soup = BeautifulSoup(html_doc)
table = soup.findAll('table')[0].tbody.th.findAll('th') #The relevant table is the first one
print table
は、行ベースの(しかし間違っている可能性があります)。私はあなたが行を反復し、対応する列を引き出し、それをあなたが選んだデータ構造に追加することによって、何かを近似できると思います。 – RocketDonkey
私はそれを試み始めたが、まだテキストを引き出すことができなかった。私はその部分を含めるために私の答えを更新します。たぶん、簡単な方法です。 – mac389