0

ねえ、次のタスクの簡単な例が必要です:
YQL にクエリを送信し、応答を受信する
Django アプリの Python バックエンドからパブリック データにアクセスしています。

YQL から例をコピーして貼り付けると、「有効な資格情報を提供してください」と表示されます。
そのためには OAuth 認証が必要だと思います。
これで、API キーと共有シークレットを取得できました。

さて、私はそれらをどうすればよいでしょうか?
Python oauth ライブラリを使用する必要がありますか? これです?
http://oauth.googlecode.com/svn/code/python/oauth/

しかし、コードは何ですか?シークレット/API キーを yql クエリと一緒に渡すにはどうすればよいですか?

おそらく、多くの Django プログラマーはこれを知りたいと思っているでしょう。

4

3 に答える 3

3

pypiでも利用できるpython-yqlをリリースしました。パブリックな2本足のoauth、別名署名付きリクエストを実行し、3本足の外部も促進できます。

これはまったく新しいので、テストカバレッジの改善に取り組んでいる間、いくつかのバグがあるかもしれませんが、うまくいけば、必要なことを実行する必要があります。使用方法のアイデアについては、ソースを参照してください。

それを試すためのインストールは次のとおりです。

sudo easy_install yql

バグ/機能のリクエストはここに提出できます:https ://bugs.launchpad.net/python-yql

于 2009-11-14T14:59:11.453 に答える
2

公開データにのみアクセスしている場合は、python から直接 rest コールを行うことができます。

>>> import urllib2
>>> result = urllib2.urlopen("http://query.yahooapis.com/v1/public/yql?q=select%20title%2Cabstract%20from%20search.web%20where%20query%3D%22paul%20tarjan%22&format=json").read()
>>> print result[:100]
{"query":{"count":"10","created":"2009-11-03T04:47:01Z","lang":"en-US","updated":"2009-11-03T04:47:0

そして、その結果を simplejson で解析できます。

>>> import simplejson
>>> data = simplejson.loads(result)
>>> data['query']['results']['result'][0]['title']
u'<b>Paul</b> <b>Tarjan</b> - Silicon Valley, CA | Facebook'
于 2009-11-03T04:53:10.747 に答える
0

わかりました、私は問題を解決しました。
data/html の YQL コンソールの例では、次の URL が例として提示されました。

http://query.yahooapis.com/v1/yql?q=select+ *+from+html+where+url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3Dyhoo%22+and %0A++++++xpath%3D%27%2F%2Fdiv%5B%40id%3D%22yfi_headlines%22%5D%2Fdiv%5B2%5D%2Ful%2Fli%2Fa%27

それは動作しません!
しかし、「v1/」の後に「/public」を挿入すると、魔法のように機能し始めます!

http://query.yahooapis.com/v1/public/yql?q=select+ *+from+html+where+url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3Dyhoo%22 +and%0A++++++xpath%3D%27%2F%2Fdiv%5B%40id%3D%22yfi_headlines%22%5D%2Fdiv%5B2%5D%2Ful%2Fli%2Fa%27

しかし、API キー (v1/yql アクセス用) を渡す方法の問題は未解決のままです。何かアドバイス?

于 2009-10-03T19:07:01.510 に答える