通过Python将目录中的图片发布到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上。不过,我不知道怎么从我电脑上的一个文件夹里抓取照片,比如这样……
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的头信息。
我找到这个话题 用Python把图片上传到Tumblr,但是我不太明白回复里说的是什么。
有没有人知道怎么用文件夹里的图片,而不是链接,来实现这个功能?
另外,我试过这个 https://gist.github.com/1242662,但老实说,我完全不知道该怎么做。
谢谢任何能提供帮助的人。
1 个回答
1
从链接的帖子来看,data是一个关键字参数,所以你应该这样调用api.write
:
api.write_regular(title, data=data)
我不知道这样做是否有效,但tumblr的API看起来文档写得很清楚。我建议你使用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)