# -*- coding: utf-8 -*-
import os
import shutil
import urllib2
import xmlrpclib
# 图片文件夹
IMAGE_DIR = 'images'
# 缩略图文件夹
THUMB_DIR = 'thumbs'
# 图片最大宽度
MAX_WIDTH = 600
# 图片最大高度
MAX_HEIGHT = 800
# 缩略图最大宽度
THUMB_MAX_WIDTH = 200
# 缩略图最大高度
THUMB_MAX_HEIGHT = 200
# wordpress xmlrpc地址
XMLRPC_URL = 'http://localhost/xmlrpc.php'
# wordpress用户名
USERNAME = 'admin'
# wordpress密码
PASSWORD = '123456'
# wordpress发布文章分类
CATEGORY = '1'
# 获取图片文件列表
def get_image_list():
image_list = []
for root, dirs, files in os.walk(IMAGE_DIR):
for file in files:
if os.path.splitext(file)[1] == '.jpg':
image_list.append(os.path.join(root, file))
return image_list
# 生成缩略图
def make_thumb(image_path):
thumb_path = os.path.join(THUMB_DIR, os.path.basename(image_path))
cmd = 'convert -resize %dx%d %s %s' % (THUMB_MAX_WIDTH, THUMB_MAX_HEIGHT, image_path, thumb_path)
os.system(cmd)
return thumb_path
# 上传图片
def upload_image(image_path):
server = xmlrpclib.ServerProxy(XMLRPC_URL)
data = {
'name': os.path.basename(image_path),
'type': 'image/jpg',
}
with open(image_path, 'rb') as f:
data['bits'] = xmlrpclib.Binary(f.read())
response = server.wp.uploadFile(0, USERNAME, PASSWORD, data)
return response['url']
# 发布文章
def post_article(title, content, image_url, thumb_url):
server = xmlrpclib.ServerProxy(XMLRPC_URL)
data = {
'title': title,
'description': content,
'categories': [CATEGORY],
'custom_fields': [
{'key': 'thumb', 'value': thumb_url},
{'key': 'image', 'value': image_url},
],
}
response = server.wp.newPost(0, USERNAME, PASSWORD, data, True)
return response
# 主函数
def main():
# 创建缩略图文件夹
if not os.path.exists(THUMB_DIR):
os.mkdir(THUMB_DIR)
# 获取图片文件列表
image_list = get_image_list()
# 遍历图片文件列表
for image_path in image_list:
# 生成缩略图
thumb_path = make_thumb(image_path)
# 上传图片
image_url = upload_image(image_path)
# 上传缩略图
thumb_url = upload_image(thumb_path)
# 发布文章
post_article(os.path.basename(image_path), '', image_url, thumb_url)
if __name__ == '__main__':
main()
python发布本地图片文章到wordpress并生成缩略图的代码
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《python发布本地图片文章到wordpress并生成缩略图的代码》
文章链接:https://www.gebizhan.com/1712.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《python发布本地图片文章到wordpress并生成缩略图的代码》
文章链接:https://www.gebizhan.com/1712.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。