RSSを用いてYahoo!ニュースからデータを取得しようと、CentOS7にfeedparserをインストールしようとしたところ次のようなエラーが出ました。
[root@ip-]# yum install feedparser 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: d36uatko69830t.cloudfront.net * extras: d36uatko69830t.cloudfront.net * updates: d36uatko69830t.cloudfront.net パッケージ feedparser は利用できません。 エラー: 何もしません
Pythonモジュールをインストールする場合、pipを使うのが一般的なので、pipをインストールすることで解決しました。
centos7にデフォルトでインストールされているのはpython2なので、python3.6をインストールします。
##レポジトリを追加 [root@ip-]# yum -y install centos-release-scl-rh centos-release-scl ##python3.6をインストール [root@ip-]# yum --enablerepo=centos-sclo-rh -y install rh-python36 [root@ip-]# scl enable rh-python36 bash ##インストールが成功したか確認 [root@ip-]# python -V Python 3.6.9
pyhton3.6がインストールされたらfeedparserをインストールします。
[root@ip-]# pip install feedparser Collecting feedparser ~~~~~ Successfully installed feedparser-6.0.1 sgmllib3k-1.0.0 You are using pip version 9.0.1, however version 20.2.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command. ##上記のメッセージに従いpipをアップデートしておく [root@ip-]# pip install --upgrade pip
これで実行してみます。
sample.py
import feedparser RSS_URL = 'https://news.yahoo.co.jp/pickup/rss.xml' d = feedparser.parse(RSS_URL) for entry in d.entries: title = entry.title link = entry.link print(title + "--" + link)
[root@ip- practice]# python sample.py 第99代首相に菅義偉氏--https://news.yahoo.co.jp/pickup/6371258 H&M 新疆巡り業者と取引停止--https://news.yahoo.co.jp/pickup/6371247 都163人感染 2日連続100人超--https://news.yahoo.co.jp/pickup/6371260 目の再生医療 iPS移植手術へ--https://news.yahoo.co.jp/pickup/6371234 東北道で最高120kmに 影響は--https://news.yahoo.co.jp/pickup/6371251 ダル白星消える 僕が悪かった--https://news.yahoo.co.jp/pickup/6371253 テラハBPO審理へ 異例の早さ--https://news.yahoo.co.jp/pickup/6371259 ゆりやん 失敗はどうでもいい--https://news.yahoo.co.jp/pickup/6371254
ちゃんと実行されました。