【发布时间】:2016-11-10 08:13:42
【问题描述】:
尝试编写一个脚本,在此website 填写在线表格并上传一个 zip 文件。我在这里查看了the documentation 和several other posts 但仍然无法让我的脚本上传文件。
这里是文件上传的html源代码:
<input type="file" id="field19567427" name="field19567427"
size="30" class="fsField fsUpload uploadTypes-jpg,jpeg,gif,png,bmp,tif,
doc,docx,xls,xlsx,txt,mp3,mp4,aac,wav,au,wmv,avi,mpg,mpeg,zip,gz,rar,z,tgz,tar,sitx" />
这是我的 python 代码(请原谅我尝试了很多不同的方法):
import urllib
import urllib2
import cookielib
import webbrowser
import os
import base64
import requests
from pprint import pprint
walla = "X:\\Test\\Test.html"
my_file = open("X:\\Some_Directory\\Meh.zip", 'rb')
values = {
"field19567029" : "Some Company",
"field20044433" : "Some Email",
"field40168419" : "Some Phone Num",
"field19567035" : "Some Code",
"field19567303" : "Some Distance",
"field19567306" : "Map Projection",
}
zippy = {
"field19567427" : my_file
}
url = "http://www.formstack.com/forms/?1455656-XG7ryB28LE"
url2 = "http://httpbin.org/post"
if os.path.exists(walla):
os.remove(walla)
r = requests.post(url, data=values, files=zippy)
#r.status_code
#pprint(r.json()['headers'])
with open(walla, "w") as f:
f.write(r.content)
【问题讨论】:
-
这是你的表格,我可以向它提交测试数据吗?
-
@Bamcclur 它不是我的表格,但我想你可以向它提交测试数据,这是我的计划。不过,我也无法将文件上传到您的测试表单。
标签: python post file-upload scripting python-requests