じゃあpythonで何かやってみる

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

じゃあpythonで何かやってみる

投稿記事 by taketoshi » 4年前

新しい言語に興味を持つ場合って「何か作ろう!」って思わないと上達しないと思うんだ。
ゼロから構文を覚えるために基本構文を打ちながらカチカチやるというのもナンセンスだし時間を割きたくない。
ただその「何かを作ろう!」って思うまで達して「この言語すげぇ!楽じゃん!」って感じるのが難しいんだけどね

じゃあpythonで何やろうって思ったんだけど。
C#で作ったRSSリーダーを焼き直ししてみようって思ったんだ。
理由はWindowsOS以外で簡単に動くニュースアプリが欲しかったから。

C#で作ったプログラムを無理やり.net core?を使ってLinux(ラズパイ)で動かしたこともあるんだけど
レイアウトが崩れて開発が困難だったよ。
マルチプラットフォームで何もせずにLinuxで動くっていうのはものすごいメリットだと思うんだ。

取得するのはNHKのxml
受信料金払ってるから活用するよ!

C#はGUIに出力するために色々やってるからごちゃごちゃしてる
pythonはコマンドプロンプトに直接出力してる。
一見C#の方が面倒臭そうだけど。CUI出力レベルならどっちもどっちかな?

ただpythonはそのままLinuxで動くって聞いてるからすごいよ!!
これを主軸コードにしてpythonとTKinter使ってニュースアプリ作ってくるわ。

*前回の日記と言っていることが違うのは成長の証。

xmlをパーサしてsummaryを取得するコード

CODE:

//C#版の主要場所
        //リストにニュース情報を格納する関数
        static void GetNews()
        {
            const string url = "http://www3.nhk.or.jp/rss/news/cat";

            for (int i = 0; i < 4; i++)
            {
                string szRSS = String.Format("{0}{1}.xml", url, i);               
                using (XmlReader rdr = XmlReader.Create(szRSS))
                {
                    SyndicationFeed feed = SyndicationFeed.Load(rdr);
                    newsbase = new List<SyndicationItem>();//ニュース格納配列の実体化

                    foreach (SyndicationItem item in feed.Items)//情報の取得
                    {
                        newsbase.Add(item);
                    }
                }
            }
        }

CODE:

//python
import feedparser
RSS_URL = 'https://www3.nhk.or.jp/rss/news/cat1.xml'
data = feedparser.parse(RSS_URL)
for entry in data.entries:
    print("[" + entry.title + "]")
    print(entry.summary)
//pythonでの取得結果
タイトルなし.png

コメントはまだありません。