HTML ページ、特にニュース関連のページの場合、発行日を解析するメカニズムがあれば非常に便利で、非常に便利です。
残念ながら、インターネット上の日付の正規表現/パターンは 1 つではありません。CNN は MONTH DD、YYYY のように発行することがあり、HuffingtonPost は MM/DD/YY などのように発行することがあります。
HTMLページから出版日を抽出するための純粋な正規表現解析よりも優れた戦略を持っている人はいますか?
ありがとうございました。
dateutilライブラリのparse関数を試してください。
ヒューリスティックのセットを使用して、日付形式を検出します。それは自動的に動作します:)
>>> from dateutil.parser import parse
>>> parse('April 12, 2013')
datetime.datetime(2013, 4, 12, 0, 0)
>>> parse('04/12/13')
datetime.datetime(2013, 4, 12, 0, 0)
Python 用の優れた小さな日付/時刻ライブラリがもう 1 つあります — <a href="https://github.com/nvie/times/" rel="nofollow">times. 内部でも dateutil を使用しますが、タイムゾーンで適切に動作するのにも役立ちます。
>>> import times
>>> times.to_universal('2012-02-03 11:59:03', 'Europe/Amsterdam')
datetime.datetime(2012, 2, 3, 10, 59, 3)
>>> times.to_local(_, 'Europe/Amsterdam')
datetime.datetime(2012, 2, 3, 11, 59, 3, tzinfo=<DstTzInfo 'Europe/Amsterdam' CET+1:00:00 STD>)
しかし、日付形式の正規表現を検出するだけでも良い解決策だと思います。
実際のプロジェクトでは、次の手順を実行します。