0

次のデータを持つファイルがあるとします。

<td class="w"><a href="show.cgi?id=120012" title="[Title] &#64;Blue: Session_TIMEOUT after 60033 ms">[Title] &#64;Blue: Session_TIMEOUT after 60033 ms</a></td>'
<td class="w"><a href="show.cgi?id=120012" title="[Title] &#64;Blue: Session_TIMEOUT after 60500 ms">[Title] &#64;Blue: Session_TIMEOUT after 60033 ms</a></td>'

この上の文字列では、HTML タグの下にある両方の行について、title="[Title] @Blue: Session_TIMEOUT after 60033 ms" の後に文字列を取得し、取得した文字列を次の行に書き込むにはどうすればよいですか。

次のような出力が必要です。

<td class="w"><a href="show.cgi?id=120012" title="[Title] &#64;Blue: Session_TIMEOUT after 60033 ms">[Title] &#64;Blue: Session_TIMEOUT after 60033 ms</a></td>'
&#64;Blue: Session_TIMEOUT after 60033 ms
<td class="w"><a href="show.cgi?id=120012" title="[Title] &#64;Blue: Session_TIMEOUT after 60500 ms">[Title] &#64;Blue: Session_TIMEOUT after 60033 ms</a></td>'
&#64;Blue: Session_TIMEOUT after 60500 ms

同じことを手伝ってください....よろしくお願いします

4

3 に答える 3

0

Beautiful Soupライブラリを使用すると、非常に簡単に実行できます。

from BeautifulSoup import BeautifulSoup
myHTML = '<td class="w"><a href="show.cgi?id=120012" title="[Title] &#64;Blue: Session_TIMEOUT after 60033 ms">[Title] &#64;BlueScreen: RCU_PCPU_TIMEOUT after 60033 ms</a></td>'
html_doc = BeautifulSoup( myHTML )
print html_doc.td.a.string

Beautiful Soupは またはを使用してインストールできます。pipまたは、debian ベースのオペレーティング システムを使用している場合はeasy_install、必要に応じて次のようにインストールできます。apt-get

pip install BeautifulSoup
easy_install BeautifulSoup
apt-get install python-beautifulsoup
于 2012-11-28T09:28:02.883 に答える
0

正規表現を使用できます。あなたのinteresetの文字列が、たとえば、title="とエンディングの間に常に固定されていることがわかる場合は、次のmsことができます。

import re # 正規表現モジュール g = re.compile('title="(.*?ms)').search(line) # 文字列を検索

その後、文字列は を介し​​て利用できるようになりますg.group(1)。Python のドキュメントで正規表現について読むと役に立つかもしれません。正規表現は、すべての言語、特にスクリプト作成において非常に重要なプログラミング ツールです。

regex質問にタグを追加することもできます。

于 2012-11-28T09:20:10.300 に答える
0

簡単な方法:

line = line[(line.index('[Title]')+len('[Title]')):]
line = line[(line.index('[Title]')+len('[Title]')):]
text = line[:line.index('</a></td>')]
print line + '\n' + text

ただし、これを行うより良い方法は、CodeChordsman で言及されているように正規表現を使用することです

于 2012-11-28T09:38:39.467 に答える