从HTML文档中提取特定字符串

2024-09-30 10:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我只需要从一个离线的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>

我需要得到的结果是:

^{pr2}$

你能帮我做这个吗, 谢谢。在


Tags: 文件字符串文档txt信息idhtmlspl
3条回答
 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的答案。在

使用类似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)

结果:

^{pr2}$

下一步;写入.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)

相关问题 更多 >

    热门问题