wordpress_xmlrpcを使って、自分でまとめたExcelファイルからopenpyxlを使ってwordpressに記事を投稿しています。
wordpress本文に画像を載せたいのですが、現在は手動でしか方法がわかりません。
画像のアップロードまではできるんですが、本文の途中に画像を自動で入れるにはどうしたらいいのでしょうか。
本文はexcelファイルからforループを使って取得しています。
どう説明したらいいのかわからないので、説明が下手くそだと思いますが、よろしくお願いいたします。
python
1from wordpress_xmlrpc import Client, WordPressPost 2from wordpress_xmlrpc.methods.posts import GetPosts, NewPost 3from wordpress_xmlrpc.methods.users import GetUserInfo 4from wordpress_xmlrpc.compat import xmlrpc_client 5from wordpress_xmlrpc.methods import media, posts 6import openpyxl 7import ssl 8 9 10ssl._create_default_https_context = ssl._create_unverified_context 11 12client = Client('wordpressへアクセス') 13wb = openpyxl.load_workbook('excelファイル') 14ws = wb.active 15 16post = WordPressPost() 17 18 19#本文中の画像 20def in_img(s_url): 21 f_name = '画像ファイルまでのパス' + str(s_url) 22 23 with open(f_name, 'rb') as img: 24 data = { 25 'name':f_name, 'type':'image/jpeg', 26 } 27 data['bits'] = xmlrpc_client.Binary(img.read()) 28 response = client.call(media.UploadFile(data)) 29 attachment_id = response['id'] 30 return response, attachment_id 31 32s_url = ws['B2'].value 33f_name, attachment_id = in_img(s_url) 34 35print(r) 36 37#本文 38cells = ws['D2:Y2'] 39body = [] 40 41for i in cells: 42 for c in i: 43 body.append(c.value) 44 else: 45 ct_body = ''.join(body) 46 47 48post.title = ws['C2'].value 49post.content = ct_body 50 51post.post_status = 'draft' 52 53client.call(NewPost(post)) 54
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 21:45 編集
2021/09/21 21:45