PythonのfeedparserでRSSフィードを読み込んでみる。
RSSはオワコンと言われることもあるそうだが、どんなデータが入手できるのだろうかと気になり、IT関連おすすめフィードの中からいくつかピックアップして試してみた。
【IT関連】RSSフィードおすすめ12選!登録方法からURLまで丁寧に説明!【Inoreader】 - コスパ大臣のシンプルレビュー
お試しのためだけにRSSリーダーアプリをインストールするのは不安があったので、pythonのfeedparserを使った。
pip install feedparserでモジュールをインストールして以下のスクリプトを実行。
#!/usr/bin/python3 import feedparser urls = [ 'http://b.hatena.ne.jp/hotentry/it.rss', 'http://feed.rssad.jp/rss/gigazine/rss_2.0', 'http://feed.japan.cnet.com/rss/index.rdf', 'http://rss.itmedia.co.jp/rss/1.0/topstory.xml', 'http://feed.japan.zdnet.com/rss/index.rdf', 'http://toyokeizai.net/list/feed/rss', 'http://www.shoeisha.co.jp/rss/index.xml', ] for i,url in enumerate(urls,1): print('\n{0}:{1}'.format(i,url)) r = feedparser.parse(url) for c in r["entries"]: print(c["title"])
※久しぶりにスーパーpre記法を使おうとしたが忘れていたので以下を参考にした。
help.hatenablog.com
Windows環境のpythonが壊れてしまっているので、スクリプトを実行する場合はLinux(Ubuntu)環境で実行させているが、DockerコンテナとWSLで試した。
Dockerコンテナで実行した結果をファイルに落とし、Windows環境のカレントディレクトリにコピーする場合。
PS >$c = docker container ls -q PS >docker container cp ${c}:/home/guest/res1.txt .
※行末にドットがあります。
WSLで実行した結果をWindows環境にコピーする場合は/mnt以下コピー先のパスを記述する。
cp res2.txt /mnt/c/users/user1/documents
WSLの外のWindows環境(powershell)からだと、wslコマンドを使って"--"の後にコマンドラインを記述することになるのだろう。
wsl -- cp res2.txt /mnt/c/users/user1/documents
一番の問題は取得したデータをいかに活用できるかだが、ちょっと私には無理そうだ。
了