Pythonでtextminerを使用しHTMLから単一の値(テキスト)を抽出してみます。
textminerは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■textminerを使用しHTMLから単一の値(テキスト)を抽出する
では、早速textminerを使用しHTMLから単一の値(テキスト,文字列)を抽出するスクリプトを書いていきます。
■コード
import textminer
html = "<html lang='ja'><head><title>私のホームページ</title></head><body><div>こんにちは、世界</div></body></html>"
rule = '''
value:
prefix:<div>
sufix:</div>
'''
result = textminer.extract(html,rule)
print(result)
HTMLから単一の値(テキスト,文字列)を抽出するために、textminerをimportで呼び出し、htmlという変数を定義。定義した変数にhtmlタグを格納します。
格納後、htmlという変数を定義。ruleという変数を定義し、その中にルールを格納します。今回は始まりのタグが「<div>」で終わりのタグが「</div>」というルールを格納します。
格納後、textminer.extract()関数を使用します。関数の括弧内には第1の引数,パラメータとしてhtml変数を渡します。第2の引数,パラメータとして、rule変数を渡します。
これでHTMLからdivタグ内の値(今回はテキスト,文字列)を抽出することができます。
抽出した値(テキスト,文字列)をprint()関数で出力します。
■実行・検証
このスクリプトを「extract_single_val_from_html.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
Traceback (most recent call last): File "extract_single_val_from_html.py", line 1, in <module> import textminer File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\textminer\__init__.py", line 3, in <module> from textminer.main import compile, extract, extract_from_url File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\textminer\main.py", line 2, in <module> from loggingd import log_enter File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\loggingd\__init__.py", line 5, in <module> from loggingd.decorators import LogAndIgnoreError, LogEnter, LogError, LogReturn File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\loggingd\decorators.py", line 5, in <module> from decorated import WrapperFunction File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\decorated\__init__.py", line 13, in <module> from decorated.decorators.timeit import TimeIt File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\decorated\decorators\timeit.py", line 12, in <module> timer = time.clock AttributeError: module 'time' has no attribute 'clock'
実行してみると、AttributeErrorというエラーが発生しました。エラーの発生原因を調べてみると、textminerライブラリは、Python2.7およびPython3.3でテストされていますが、Python3.8ではテストされていない模様で、おそらくPython3.8ではtextminerライブラリは未対応という結論に至りました。機会があれば、Python2.7およびPython3.3で実行を検証します。
コメント