0

オフラインのHTMLドキュメントから特定の文字列のみをサンプリングして抽出し、その情報を*.txtファイルにきれいに書き込む必要があります。

たとえば、これがHTMLファイルのセクションであると仮定します。

    <span id="dataView01">001.00 SPL</span>
    <span id="dataView02">543.00 SPL</span>
    <span id="dataView03">056.00 SPL</span>
    <span id="dataView04">228.00 SPL</span>

結果としてこれを取得する必要があります:

   001.00 SPL
   543.00 SPL
   056.00 SPL
   228.00 SPL

これを手伝ってくれませんか、ありがとう。

4

3 に答える 3

2

BeautifulSoupのようなHTMLパーサーを使用します。
例:

from bs4 import BeautifulSoup as bs
import re

markup = '''<span id="dataView01">001.00 SPL</span>
    <span id="dataView02">543.00 SPL</span>
    <span id="dataView03">056.00 SPL</span>
    <span id="dataView04">228.00 SPL</span>'''

soup = bs(markup)
tags = soup.find_all('span', id=re.compile(r'[dataView]\d+'))
for t in tags:  
    print(t.text)

結果:

001.00 SPL
543.00 SPL
056.00 SPL
228.00 SPL

次のステップ; .txtファイルに書き込む:

import csv

with open('output.txt','wb') as fou:
    csv_writer = csv.writer(fou)
    for tag in tags:
        split_on_whitespace = t.text.split()
        csv_writer.writerow(split_on_whitespace)
于 2012-04-04T22:14:59.380 に答える
1

BeautifulSoupを使用する

于 2012-04-04T22:13:55.587 に答える
0
 import re
 s='001.00 SPL 543.00 SPL 056.00 SPL 228.00 SPL'
 print re.search(r'(\d{3}\.\d{2}\sSPL\s\d{3}\.\d{2}\sSPL\s\d{3}\.\d{2}\sSPL\s\d{3}\.\d{2}\sSPL)',s).group()

htmlドキュメントの周囲のテキストはわかりませんが、これでうまくいく可能性があります。

私はあなたの編集を見る私は私のものを更新します

実際にjldupontの答えに行きます。

于 2012-04-04T22:11:53.563 に答える