通过python将目录中的图片发布到tumblr

时间:2012-02-16 04:59:33

标签: python blogs image tumblr

我搜索了这些电路板并找到了一个线程,我曾用它制作一个脚本来将图片上传到tumblr。

from tumblr import Api
import sys

def antearaTumblr(blog, email, password):
    BLOG=blog
    USER=email
    PASSWORD=password
    api = Api(BLOG,USER,PASSWORD)
    #data = open('C:/Users/Kevin/Desktop/python-tumblr-0.1/1329360987775.jpg').read()
    api.write_photo('http://www.jonathanworthington.co.uk/wp-content/uploads/2008/07/etc.jpg')
    title = ''
    body = ''
    api.write_regular(title,body)

这确实有效,它使用write_photo从互联网上抓取照片并将其上传到我的tumblr。但是,我不知道怎么让它从我PC上的目录中抓取照片,就像这样......

from tumblr import Api
import sys

def antearaTumblr(blog, email, password):
    BLOG=blog
    USER=email
    PASSWORD=password
    api = Api(BLOG,USER,PASSWORD)
    data = open('C:/Users/Kevin/Desktop/python-tumblr-0.1/1329360987775.jpg').read()
    title = ''
    body = ''
    api.write_regular(title,data)

上传成功,但是上传的内容都是这个...ÿØÿà...我假设是jpg标题。

我发现了这个主题Post picture to Tumblr using Python,但我不确切地知道回复的内容。

有没有人知道如何使用目录而不是链接来使用它?

另外,我试过这个https://gist.github.com/1242662,但说实话,我根本不知道该怎么做。

感谢我收到的任何帮助。

1 个答案:

答案 0 :(得分:1)

查看链接的帖子似乎数据是关键字参数,因此您可以像这样调用api.write

api.write_regular(title, data=data)

我不知道这是否有效,但tumblr的API似乎well documented。我建议使用requests代替,这是迄今为止最好的Python HTTP库。上传照片:

import requests

url = 'https://www.tumblr.com/api/write'
data = {'email': your_email, 'password': your_password, 'type': 'photo'}
files = {'data': open('your_image.jpg')}

requests.post(url, data=data, files=files)