九月资源网-不以盈利为目的,仅仅为个人学习、研究或者欣赏。若未注明来源,请联系添加。如果侵犯到您的版权,请联系删除相关文章。

python脚本实现图片上传到新浪云图床

技术类 Python脚本 来源:随便去取 2周前 (11-15) 11次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

步骤

所需库urllib3,os,json,base64,time

将里面的cookie替换成自己的新浪微博cookie,将图片路径更改成自己的图片文件路径即可

代码

# coding=utf-8
import urllib3
import os
import json
import base64
import time
 
 
# 上传图片
def UpImg(File):
    try:
        http = urllib3.PoolManager()
        # 设置UA和Cookie
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
            'Cookie': 'SINAGLOBAL=3530494345338.695.1660546128403; ULV=1668430211853:6:2:1:1421394675500.5757.1668430211845:1668260747936; SUB=_2A25OdkndDeRhGeNN71cU9C3KwjqIHXVtmVeVrDV8PUJbkNANLU7gkW1NSaf2rDRAIRkeowNQOvgD0rYkkZGIJ5ZO; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W579i7eulWd8JS6whhnopZx5NHD95Qfe0BfSKB0So.cWs4Dqcjci--ci-zEi-2pi--ciKLhiKn4i--fi-2fi-i2i--NiKLWiKnXi--ciK.Xi-z4i--fiK.7iKy2; WBPSESS=vwQiLzvUydMdQD9DHM39mTe_0Moj3Vh_kD3kQSoNGeOx76vyIVAhYUdBFEfliRfg3jXfOGVOZ9fR97NzwbvnCdokq4gZ0uWvq3cgObD6_HiYC_jsRuzh4ZqiZTCYRBHmfj8HmKEzD6L-LnGytEdRbg==; XSRF-TOKEN=QY4-GFgk9SQNu-l600qKMlU1'
        }
        # 上传接口
        url = "https://picupload.weibo.com/interface/pic_upload.php?ori=1&mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog"
 
        f = open(File, 'rb')
        values = {
            'b64_data': base64.b64encode(f.read()),  # 将图片转换为base64
            'pic1': File
        }
        f.close()
        r = http.request('POST', url, fields=values, headers=headers)  # post方式调用API
        data = r.data.decode('utf-8')  # 解析返回内容
        data = data.replace('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />', '')
        data = data.replace('<script type="text/javascript">document.domain="sina.com.cn";</script>', '')
        jData = json.loads(data)  # 解析返回的json
        pid = jData['data']['pics']['pic_2']['pid']
 
        # 拼接图片地址
        imgUrl = 'http://ww1.sinaimg.cn/large/{pid}.jpg'.format(pid=pid)
        print("图片{file}上传成功,地址:{imgUrl}".format(file=File, imgUrl=imgUrl))
        return imgUrl
    except:
        print("图片{file}上传失败,3秒后将重试".format(file=File))
        time.sleep(3)
        UpImg(File)
 
 
if __name__ == '__main__':
    # 这里修改路径为自己的图片路径
    path = "D:\WorkSpaces\Jetbrains\Pycharm\SinaImg\img"
    urlList = []
    for file in os.listdir(path):
        url = UpImg(path + "\\" + file)
        # 写入图片地址到本地文件,txt文件在同目录下
        f = open('filelist.txt', 'a+')
        f.write(url + "\n")
        f.close()

本文标题:python脚本实现图片上传到新浪云图床
本文链接:https://www.sir8.cn/1096.html
仅供学习交流,禁止商用!
资源来源于网络!
若要求注明来源,请留言或联系站长!
如若侵权,联系站长删除!
都会在看到的第一时间修改!
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址