HTMLファイルからデータを抽出する必要があります。問題のファイルは、おそらく自動的に生成されます。これらのファイルのコードをPastebin:http://pastebin.com/9Nj2Edfvにアップロードしました。これは実際のページへのリンクです:http://eur-lex.europa.eu/Notice.do?checktexts=checkbox&val=60504%3Acs&pos=1&page=1&lang=en&pgs=10&nbl=1&list=60504%3Acs%2C&hwords=&action=GO&visu=%23texteBeautifulSoupとPythonでHTMLファイルからデータを抽出する
抽出する必要があるデータは、異なる見出しの下にあります。
これは私がこれまで持っているものです。
from BeautifulSoup import BeautifulSoup
ecj_data = open("data\ecj_1.html",'r').read()
soup = BeautifulSoup(ecj_data)
celex = soup.find('h1')
auth_lang = soup('ul', limit=14)[13].li
procedure = soup('ul', limit=20)[17].li
print "Celex number:", celex.renderContents(),
print "Authentic language:", auth_lang
print "Type of procedure:", procedure
は、私はそれがファイルecj_1.htmlを開く理由で、ローカルに保存されているすべてのデータを持っています。
Celex番号とAuthentic言語は多少良く動作します。
celexは
"Celex number:
61977J0059"
auth_langは、私は、H1タグ(終わりではないブレーク)の内容だけを必要とする"Authentic language: <li>French</li>"
を返します。返します
[また、私は<li>
- タグ単に「フランス語」、及びませんを返すことauth_langを必要としています。] これはもはや問題ではありません。私は ".text"を "auth_lang"の最後に追加することができたことに気付きました。私はちょうどそれが「予備判決のためのリファレンス」を返却する必要があるとして、非常に間違っている
Type of procedure: <li>
<strong>Type of procedure:</strong>
<br />
Reference for a preliminary ruling
</li>
:一方のリターンに
手順これ。
私はこれを達成する方法はありますか?
第二編集: 私はcelex = soup('h1', limit=2)[0]
でcelex = soup.find('h1')
を交換し、印刷celexへ.text
を追加しました。
フラクセル:ありがとうございました!それは魅力のように働く。 このファイルの出力をどうにかしてデータベースに転送することです。私はあなたが後で何かを壊す可能性があるので、改行を取り除く方法を私に教えたとき、あなたが将来の問題を解決したかもしれないと信じています。 もう一度おねがいします! – A2D2