had*_*dev 3 python python-imaging-library instagram
我无法使用 instabot 将某些照片上传到 Instagram。有些图片可以正常上传,有些则不行。我无法上传的是我使用“Pillow”编辑的。这是我的代码,之后我将向您展示我尝试过的内容。
我使用 Pillow 的照片编辑功能:
def make_square(im, min_size=1080, fill_color=(255, 255, 255)):
#here getting the width and the height of the picture and after that adjusting it's size for it to fit on a 1080px picture perfectly
width, height = im.size
ratio = 1080 / width
width = width + 0.00
height = height + 0.00
width = width * ratio
height = height * ratio
height = math.floor(height)
width = math.floor(width)
im = im.resize((width, height)) #resizing the picture to width 1080
#here is some code i got online to create a white picture then paste my picture on top of it to make the picture square
x, y = im.size
size = max(min_size, x, y)
new_im = Image.new('RGBA', (size, size), fill_color)
new_im.paste(im, (int((size - x) / 2), int((size - y) / 2)))
return new_im # returning the new image so that I can save and upload
Run Code Online (Sandbox Code Playgroud)
这是我将图片上传到 Instagram 的另一个功能:
from instabot import Bot
def UPhoto(Image, Caption):
bot = Bot()
bot.login(username = "username", password="password")
time.sleep(0.2)
try:
if bot.upload_photo(Image, caption=Caption):
return True
else:
return False
except:
return False
Run Code Online (Sandbox Code Playgroud)
当我运行上传照片时出现此错误:
发现:w:1080 h:1080 r:1.0 2020-09-12 16:00:53,680 - 错误 - 照片上传失败,响应如下: <响应 [400]> 2020-09-12 16:00:53,682 - 信息- 照片“Post.png”未上传。2020-09-12 16:00:53,683 - 信息 - 请求总数:54
我尝试过的:
基本上就是这样,希望能帮到你,谢谢!
解决了!将图像转换为“JPEG”,一切都很顺利。使用 :
new_im = new_im.convert("RGB")
Run Code Online (Sandbox Code Playgroud)