怎么样通过Python实现博客日志自动提交程序?

怎么样通过Python实现博客日志自动提交程序?

写程序提交博客日志, 目标是博客网 http://www.bokee.com
这里写了个包,可以让程序自动提交日志上去.代码如下:
Bokee.py:

import urllib,urllib2,cookielib
import re
BOKEE_HOST='.bokee.com'

class Bokee:
def __init__(self):
self.UserName=''
self.Password=''
self.cookie=cookielib.CookieJar()
self.opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))
urllib2.install_opener(self.opener)
def login(self,username,password):

self.bokeeFile="bokee.xml"
self.UserName=username
self.BlogPath="
http://" self.UserName BOKEE_HOST

_str=urllib.urlencode({'username':username,'password':password})
_response=urllib2.urlopen('http://reg.bokee.com/account/LoginCtrl.b',_str)
_d=_response.read()
if (re.search('bokie', _d)):
return True
else:
return False


def PostIt(self,_title,_content):
self.opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))
urllib2.install_opener(self.opener)
_req=urllib2.Request(url=self.BlogPath '/control/doPostDiary.b')
_req.add_header('Content-Type','text/xml;charset=GBK')
_data=open('bokee.xml','r').read()
_data=_data.replace('$#content#$',_content)
_data=_data.replace('$#title#$,_title)
_req.add_data(_data)
_r=urllib2.urlopen(_req)
#_d=_r.read()
if (re.search(r'SUCCESS',_r.read())):
return True
else:
return False

 

另外需要这个xml文件在同目录下:
bokee.xml:
<?xml version="1.0" encoding="GBK" ?>
<parameters>
<parameter>
<parameter-name>diary.diaryContent</parameter-name>
<parameter-value><![CDATA[$#content#$]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.diaryTitle</parameter-name>
<parameter-value><![CDATA[$#title#$]]></parameter-value>
</parameter>
<parameter>
<parameter-name>categoryName</parameter-name>
<parameter-value><![CDATA[]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.tag</parameter-name>
<parameter-value><![CDATA[]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.trackbackURLToSend</parameter-name>
<parameter-value><![CDATA[]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.remarkAble</parameter-name>
<parameter-value><![CDATA[1]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.postType</parameter-name>
<parameter-value><![CDATA[1]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.summary</parameter-name>
<parameter-value><![CDATA[]]></parameter-value>
</parameter>
<parameter>
<parameter-name>systemType</parameter-name>
<parameter-value><![CDATA[PUSHDIARYTOLIF]]></parameter-value>
</parameter>
<parameter>
<parameter-name>systemType</parameter-name>
<parameter-value><![CDATA[PUSHDIARYTOSOC]]></parameter-value>
</parameter>
<parameter>
<parameter-name>systemType</parameter-name>
<parameter-value><![CDATA[PUSHDIARYTOTEC]]></parameter-value>
</parameter>
<parameter>
<parameter-name>diary.categoryId</parameter-name>
<parameter-value><![CDATA[]]></parameter-value>
</parameter>
</parameters>
bokee网用这样的xml传输方式 真是莫明其妙 不过还好不复杂
Bokee.py 中 login表示登录博客网, 你需要提供用户名和密码
PostIt函数就是发布日志过程,你需要提供title主题和content内容
简单的发布过程如下:
import Bokee
mybokee=Bokee.Bokee()
mybokee.login("username","password")
mybokee.PostIt("Hello World!","Hello Python!I like It")
 
其他的博客都是一样的,只要能捕获到它通过浏览器提交的数据
在自己的程序中也是一样可以实现的
还可以做的更多,让自己的程序完成控制整个博客
从登录,发布文章到删除文章,修改文章等