他の人々は正規表現ソリューションを提供しました。これは良いですが、時々予期しない動作をする可能性があります。
ページが例に示されているとおりである場合、つまり次のようになります。
- 他のHTMLタグは存在しません-
<html>
と<pre>
タグのみ
- 行数は常に一定です
- 行間の間隔は常に一定です
次に、このような単純なアプローチで次のようになります。
my_text = """<html>
<pre>
A Short Study of Notation Efficiency
CACM August, 1960
Smith Jr., H. J.
CA600802 JB March 20, 1978 9:02 PM
205 4 164
210 4 164
214 4 164
642 4 164
1 5 164
</pre>
</html>"""
lines = my_text.split("\n")
title = lines[4]
journal = lines[6]
author = lines[8]
date = lines[10]
行間の間隔を保証できないが、 ;内の最初の4つの非空白行のみが必要であることを保証できる場合。<html><pre>
import pprint
max_extracted_lines = 4
extracted_lines = []
for line in lines:
if line == "<html>" or line == "<pre>":
continue
if line:
extracted_lines.append(line)
if len(extracted_lines) >= max_extracted_lines:
break
pprint.pprint(extracted_lines)
出力を与える:
['A Short Study of Notation Efficiency',
'CACM August, 1960',
'Smith Jr., H. J.',
'CA600802 JB March 20, 1978 9:02 PM']
単純な文字列操作で実行される正規表現は使用しないでください。