天球と紙片byはてなブログ

『天球と紙片』とついているが、実際は管理人の日常をだらだらと書いているだけのブログ

Tweet閲覧のためのRSSリーダーもどき作成メモ

なにこれ

 ↓の記事の案を実際に作ってみた。案の詳しいことは↓の記事を見てね。

 

nantai-yuto.hatenablog.com

 

作れたもの

 で結果作れたものは「feedparserでNitterにあるRSS情報をとってきて、それをもとにhtmlファイルを生成するプログラム」。まずRSSがあるURLが書かれたjsonファイルからURLとサイト名を対にした辞書を作成する。HTMLファイルで必要なものの前半部分(<!DOCUMENT html>~<body>)を生成して、さっき作った辞書のキーと値(URLと名前)を順に取り出して、RSS情報を取り出す。その情報をもとに<a href="(投稿URL)">(投稿タイトル(Tweet内容に該当))</a>を作っていく。これをjsonファイルで登録していたRSSのURL分行う。最終的に今まで出力したHTMLコードを連結してファイルに書き込んでおわりといった感じで実行終了する。

多分コードを見てもらったほうが早いだろうけど、これを公開することにいろいろと疑問があるので一旦公開は保留しておく。公開したらまたここに追記しておくわね。

作った順

 メモをとってなかったので忘れたが、確か作った順番は「HTMLのタグの生成用関数→メインのHTMLファイル作成用コード→実行中にHTMLファイルを作成するコード→外部ファイルからURLとサイト名(表示ユーザネーム)の辞書を作成する関数」みたいな感じだったと思う。

制作時のメモ

  • 関数を作りすぎると混乱するため、作るときは関数をあまり作らず後でリファクタリングしたほうがわかりやすいかもしれない
  • 外部ファイルから辞書を作るときはjsonファイルを使う
  • Feedparserを使ったコードを実行するときにはサーバの過度なアクセスにならないように注意したほうがいい

できたものの課題点

  • 一つのサイトに一度に大量に取得しても大丈夫なのかよくわからん(もしかしたら登録数が多いと取得できないものがあるかもしれない)
  • jsonファイルに書き込むのめんどくさい(ユーザネームと表記する名前だけ書けるようにしたい)
  • 今のままだと若干見づらいのでCSSでいい感じにできるようにしたい
  • どうもターミナルから実行しないとうまいこと取得できないっぽいので、ターミナルから実行しなくてもいいようによしなにしたい