私は現在、スクリーンショットを取得してPythonを使用してimgurにアップロードするための小さなスクリプトを開発しています。imgurのAPIを使用して空のイメージを取得する
コードは次のようになります。
import time
import os
import ImageGrab
import urllib
import urllib2
time.sleep(1)
shot = ImageGrab.grab()
dir = os.path.join(r'C:\SAMPLE\PATH', 'Screen ' + time.strftime(r'%Y-%m-%d %H-%M-%S') + '.png')
shot.save(dir)
data = urllib.urlencode({"key":'MY_API_KEY', "image":urllib.quote(open(dir,'rb').read().encode("base64"))})
site = urllib2.Request("http://imgur.com/api/upload.json", data)
s = urllib2.urlopen(site)
print s.read()
私はimgurからの応答を得るが、私はリンクを開いたときに(その解像度は正しいですが)私は空白の画像を取得します。私はbase64エンコーディングメソッドがオフになるかもしれないと思うが、私は迷っている。
読んだファイルにはscreengrabが保存されていますか?ハードコーディングされた名前の別のイメージで試してみてください。 – agf
@agfはい、ファイル*はそこにあり、空きがない別のイメージへのハードコードされたパスを試しました。しかし、ありがとう。 –