-1

私はこの問題を数時間解決しようとして(失敗しました)、助けが必要です。Firebugを使用して、次のような数百行のHTMLを抽出しました。

<option value="1b4f4aed-cf1f-4b39-ae27">Foo</option>
<option value="1a05f93f-dd51-449d-b039">Bar</option>
<option value="f62d2d29-29fc-4f7c-9331">Bacon</option>

行をテキストファイルに保存しました。私が欲しいのは、プロセスを開いてファイルを閉じるための(Pythonを推奨し、代わりにRubyを使用する)スクリプトです。この処理により、次のような新しいテキストファイルが保存されます。

Foo
Bar
Bacon

それでおしまい。よろしくお願いします。

4

1 に答える 1

2

上記のコメントによると、HTMLに関連するものなら何でもBeautifulSoupをお勧めします。あなたは学習段階の初期なので、おそらく「HTML」を「BeautifulSoup」に関連付けるのが最善です(正規表現ではありません:))。これは非常に基本的な例です。

In [1]: from bs4 import BeautifulSoup

In [2]: html = """
<option value="1b4f4aed-cf1f-4b39-ae27">Foo</option>
<option value="1a05f93f-dd51-449d-b039">Bar</option>
<option value="f62d2d29-29fc-4f7c-9331">Bacon</option>
"""

In [3]: soup = BeautifulSoup(html)

In [4]: for option in soup.find_all('option'):
   ...:     print option.text
   ...:     
Foo
Bar
Bacon

ここでは、HTMLをに渡し、それを変数BeautifulSoupに割り当てます。soupこれで、HTMLと、ユーザーフレンドリーな方法でHTMLを操作するための大量のメソッドを含むオブジェクトができました。ここでは、メソッド(ここfind_allのドキュメント)を使用して、HTML内のすべてのタグを検索します。ここで反復するときは、独自の特別なプロパティ/メソッドを持つオブジェクトを反復処理しています。ここでは、要素のテキスト(この場合はタグで囲まれたテキスト)を表示するために、そのうちの1つ()を選択します。optionTag.textTag

于 2013-01-21T23:36:42.540 に答える