使用Python将图片发布到Tumblr

时间:2011-02-08 20:44:18

标签: python tumblr

我正在尝试使用python将图片发布到tumblr,特别是:http://code.google.com/p/python-tumblr/

#!的/ usr / bin中/ Python的

from tumblr import Api
import sys

BLOG='example.tumblr.com'
USER='example@example.com'
PASSWORD='example'
api = Api(BLOG,USER,PASSWORD)
post_data = "picture.png"   
title = "Title of my entry"
body = "this is a story with a picture"

api.write_regular(title, body + post_data)

当我运行此结果时,结果是博客到达,而不是:

  

我的参赛作品

     

这是一个带图片的故事

     

[IMG]

我明白了:

  

我的参赛作品

     

这是一个故事   picturepicture.png

3 个答案:

答案 0 :(得分:2)

你实际上并没有发送图像数据,你只是发送一个带有文件名的字符串,所以这并不太令人惊讶。 write_regular来电allows HTML因此,如果您可以在某处上传照片,则应该可以在帖子文字中使用<img src="..." />标记,以便在帖子中显示图片。

或者您可以使用write_photo调用将照片(而不仅仅是文件名!)上传到Tumblr,然后以某种方式获取该网址并将其用于<img>标记中

答案 1 :(得分:2)

在您当前的代码中,您没有发布图像,而是发送一个名为“picture.png”的字符串。正如Daniel DiPaolo所说,你必须使用写一张照片。例如,write_photo的参数是图像的链接。

#!/usr/bin/python
from tumblr import Api
import sys

BLOG='example.tumblr.com'
USER='example@example.com'
PASSWORD='example'
api = Api(BLOG,USER,PASSWORD)
api.write_photo('http://example.org/somewhere/lolcat.jpg')

如果要发送HTML,可以创建一个包含所选标记的主体。

title = "life is amazing" 
body = """
_here my html code_
"""

然后使用API​​

编写它
api.write_regular(title,body)

你应该全力以赴。

数据上传

更准确;)如果你想发送数据,你必须打开对象。 假设你的形象是“lolcat.jpg”

data = open('lolcat.jpg')。read()

答案 2 :(得分:1)

我在这里用API v2做了一个例子 https://gist.github.com/1242662