3

こんにちはスタック オーバーフロー Web サイトをスクレイピングし、以下のようにデータの小さなセクションを解析するコードがあります。

System MA
user id =  2084
username =  XYZ90
selection =  pnq
decimal =  6.000
Percentage =  19.1176470588 %

System NA
user id =  2086
username =  pron1
selection =  abc
decimal =  13.000
Percentage =  13.1147540984 %

System M
user id =  1664
username =  Chrisod
selection =  pleader
decimal =  15.000
Percentage =  16.091954023 %

上記は、次のフィルターの結果として出力されます。

if (deciaml > 5 and percentage > 10:
    print "system", system_acn
    print "user id = ",user_id
    print "username = ",username
    print "selection = ",selection
    print "decimal = ",decimal_delim   
    print "percentage = ,percentage_calc2,"%"

これはすべて、ループする webscraper からさまざまなパラメーターを出力した結果です。私ができるようにしたいのは、それぞれを RSS としてエクスポートすることです。したがって、上記は RSS フィード内に 3 つの RSS 投稿として存在します。私はdjangoなどのいくつかのモジュールを調査しました.これは、特にRSSではない多くのもののためのツールキットのようです.本質的に、可能な限り最も単純で簡単なRSSソリューションを探していますか? 適切な方法論やモジュールに関するアドバイスやコメントをいただければ幸いです。よろしくAEA

4

1 に答える 1

6

あなたの質問に Django に関するタグが付けられていることに気付きました。この問題に基づいて Django アプリケーションを構築する場合は、シンジケーション フレームワークを使用する必要があります。ただし、データベースやテンプレート言語など、Django の他のコンポーネントを使用する予定がない限り、これは価値がありません。

ただし、「最も簡単で簡単な」ソリューションを求めました。私は Django が大好きで、アプリをセットアップするのに数分しかかからないので、プロジェクト全体を実行する最も簡単な方法は、おそらく簡単な Django アプリを作成することです。最も簡単な解決策は、おそらくフィードを手動で作成することですが、それほど難しいことではありません。何かのようなもの:

inp="""System MA
user id =  2084
username =  XYZ90
selection =  pnq
decimal =  6.000
Percentage =  19.1176470588 %

System NA
user id =  2086
username =  pron1
selection =  abc
decimal =  13.000
Percentage =  13.1147540984 %

System M
user id =  1664
username =  Chrisod
selection =  pleader
decimal =  15.000
Percentage =  16.091954023 %"""

inp=inp.split('\n\n')

rss_start="""<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">

<channel>
  <title>Your title</title>
  <link>http://yoursite.com</link>
  <description>Your discription</description>
"""

rss_end="""</channel>

</rss> """

def description(item):
    return item

def title(item):
    return item.split('\n')[0]

def link(item):
    return 'http://mysite.com/' + item.split('\n')[0]

rss_items=[]
for counter, item in enumerate(inp):
    rss_items.append("""
  <item>
    <title>%s</title>
    <link>%s</link>
    <description>%s</description>
    <guid>counter</guid>
  </item>""" % (title(item),description(item),link(item)))

rss_output=rss_start+''.join(rss_items)+rss_end

<pubDate>おそらくタグも追加する必要があります。そして、あなた<guid>の が一意であることを確認してください。

注: w3schools.com からコピーした RSS テンプレート

于 2013-06-11T15:57:41.787 に答える