やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PythonでRSSからニュースを取得しSQLite3DBに保存する

 リポジトリを作り直した。いくつか修正。

成果物

修正箇所

  1. カレントディレクトリを取得する(Pythonで)
  2. 日付の変換

1. カレントディレクトリをPythonで取得する

 第2引数がないときはカレントディレクトリをPythonで取得する。

get_news.py

db_dir_path = sys.argv[2] if (2 < len(sys.argv)) else os.getcwd()

2. 日付の変換

get_news.py

# RSS/Atomの日付テキストをISO-8601にして返す
def get_iso_8601(date_str):
    try: return (datetime.datetime
            .strptime(date_str, 
                      '%a, %d %b %Y %H:%M:%S %z')
            .strftime('%Y-%m-%dT%H:%M:%SZ%z'))
    except ValueError as ve: 
        return (datetime.datetime
            .strptime(date_str, 
                      '%Y-%m-%dT%H:%M:%SZ%z')
            .strftime('%Y-%m-%dT%H:%M:%SZ%z'))

 問題は、%z+09:00など:が入っている場合にはPython3.7以降でないとエラーになってしまうこと。一旦放置する。

問題

  • 日付の変換ができずエラーになる場合がある(タイムゾーン:があるとき)
  • 本文だけを抽出することができない
    • 続きを読むボタンを押下しないと本文がみれないなど

対象環境