見出し画像

Pythonで記事サイトのリーダーモードを再現

クローリングしてきたHTMLファイルに対して、必要とする記事だけを抜き出したいが、フォーマットが統一されていないので何とかしたい。
Firefoxなどリーダーモードにすると、広告やヘッダー、フッターなど不要な箇所が除去されるので同じようなことをプログラムでできないか検証

Readability.js のラッパーである readabilipy をインストール

pip install readabilipy

手元にHTMLファイルがある前提として、
そのHTMLファイルを読み込んで実行。

import requests
from readabilipy import simple_json_from_html_string,simple_tree_from_html_string
f = open("./html/0cb4f1a0-90fa-11ed-a47b-4fdda97fa738.html", 'r', encoding="utf-8").read()
article = simple_json_from_html_string(f, use_readability=True, node_indexes=False)
print(article["title"])
print(article["byline"])
print(article["content"])
print(article["plain_content"])
print(article["content"])