我正在教自己如何使用python请求提交表单。我已经完成了下面的所有操作(将数据发布到url),但是表单未成功提交。
我在做错什么吗?还是有另一种方式提交表单。
url = 'https://docs.google.com/forms/d/e/1FAIpQLSdVuwwVP279h8IuA49NZlAHAJ0xz_qytUi-jeuNrXOrJ5_ZnA/viewform'
s = requests.session()
[enter image description here][1]
headers = {'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
'content-type': 'text/html; charset=utf-8'}
content = requests.get(url, headers=headers, )
soup = BeautifulSoup(content.text, 'html.parser')
fbzx = soup.find('input',{'name':'fbzx'}).get('value')
print(fbzx)
dr = (f'"{fbzx}"')
re = ("[null,null,"+dr+']')
data = {"emailAddress": email,
"entry.1931660669": firstname,
"entry.184398511": lastname,
"entry.1167718239": "9",
"fvv": "1",
"draftResponse": re,
"pageHistory": "0",
"fbzx": fbzx
}
response = s.post(url, data = data, headers = headers,)
print(response.text)
答案 0 :(得分:0)
正如您在评论中所说,它返回405错误。 这可能意味着不允许您发出发布请求,因为它表明不允许使用该方法。
您是否考虑过使用Google Docs Api?
设置非常简单,您只需要获取项目的API密钥即可。并将其作为查询传递到您的post方法中。
这是更好的方法,并且可能是唯一可填充或创建google docs文件的方法。