python 上传文件

使用python批量上传文件

最近需要在网上填写表格并上传文件,于是想着是否可以写个脚步去做,于是通过百度终于完成了这个任务。

下面来总结一下

抓包

抓包

通过抓包可以看到,上传的过程实际上是通过一个HTTP POST请求完成的,并且也知道来需要填写哪些字段

代码

上传文件根据日期命名,名称写到input里

#coding:utf-8
import requests
import sys
import time
reload(sys)
sys.setdefaultencoding('utf8')


f = open('./input','rt')
lines = f.readlines()
f.close()


files={'studyStartDate':(None,''),
    'studyTimeId':(None,'am'),
    'doctorName':(None,'xxx'),
    'doctorFlow':(None,'c7e632d9793b41aa91c2ee8061fb5140'),
    'teacherName':(None,'xxx'),
    'teacherFlow':(None,'d612acad4e3f40e3b765e3cbc06ec2ee'),
    'experienceContent':(None,'见附件'),
    'studentSignTime':(None,''),
    'files':(),
    'files2':(),
    'auditContent':(None,''),
    'auditTime':(None,'')
 }

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Referer':'http://jszy.ezhupei.com/pdsci/res/discipleNote/showDiscipleNoteInfo/doctor/Note?doctorFlow=c7e632d9793b41aa91c2ee8061fb5140&discipleTeacherFlow=d612acad4e3f40e3b765e3cbc06ec2ee',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9',
    'Cookie':'JSESSIONID=B696DD3BFC69F8B84C33158C6BD6E704.tomcat4040; UM_distinctid=161f651253511bf-0e49bd96c770b9-32637b06-13c680-161f6512536ea6'
}

url = 'http://jszy.ezhupei.com/pdsci/res/discipleNote/saveDiscipleNoteInfo/doctor/Note?jsonData=%257B%2522fileFlows%2522:%255B%255D%257D'

date = []

for line in lines:
    y,m,d,i = line.strip('\n').split('_')
    date_str = '%04d_%02d_%02d'%(int(y),int(m),int(d))
    if date_str not in date:
        date.append(date_str)

for date_item in date:
    y,m,d = date_item.split('_')
    date_str = "%04d年%02d月%02d日"%(int(y),int(m),int(d))
    files['studyStartDate'] = (None,date_str)
    files['files'] = (date_item+'_1.jpg',open(date_item+'_1.jpg','rb'),'image/jpeg')
    files['files2'] = (date_item+'_2.jpg',open(date_item+'_2.jpg','rb'),'image/jpeg')
    response=requests.post(url,files=files,headers=headers)
    html = response.text
    print html
    time.sleep(5)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值