我需要从脱机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
你能帮我解决这个问题,
感谢。
答案 0 :(得分: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)
答案 1 :(得分:1)
答案 2 :(得分: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一起回答的。