CentOS7にfeedparserをインストールする

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

ちゃんと実行されました。