2012-02-20 18 views
2

RSSフィードをフィード解析ツールで解析しようとしています。切り取ら以下のコードはカットショートされ、簡潔にするためGoogle App Engineでフィードパーサーを使用する

from google.appengine.api import urlfetch 
import feedparser 
print 'Content-Type: text/plain' 

feed_url = 'http://parsethisurl' 
feedinput = urlfetch.fetch(feed_url) 

rss_parsed = feedparser.parse(feedinput.content) 
...... 
#some logic here 
......... 

print "\n".join(episode_info) # printing out the desired output. 

は私のPythonインタプリタ上で正常に動作しますが、私はGAPPエンジンランチャーに自分のアプリケーションを追加し、localhost:10000を経由して、それを実行しようとすると、それは私に次のエラーを与える

<type 'exceptions.ImportError'>: No module named feedparser 
     args = ('No module named feedparser',) 
     message = 'No module named feedparser' 

feedparserモジュールが既にシステムにインストールされています。

>>> sys.version 
'2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]' 
>>> import feedparser 
>>> 

私はfeedparserはGAPPエンジンで直接動作しないことをstackoveflowやブログにいくつかの記事をお読みください。私は助言に従ってurlfetch.fetch(feed_url)を使用しましたが、私もエラーが発生しています。

PS:GAPPランチャー上にPythonPathを使用すると、開発サーバーでアプリケーションを実行するときに、それは動作しますが、あなたがfeedparserがローカルにインストールされているC:\Python25\python.exe

答えて

5

です。ただし、GAEではこのライブラリを提供していないため、プロダクションでfeedparserを使用するにはプロジェクトに含める必要があります。

feedparserをプロジェクトファイルとともにアップロードする必要があります。このためには、アプリケーションのルートディレクトリにコピーして、アプリケーションを展開します。

+0

ありがとうございました。 – Noob