使用python提交Google测试表单

时间:2019-07-18 15:03:00

标签: python forms python-requests http-post

我正在教自己如何使用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)

1 个答案:

答案 0 :(得分:0)

正如您在评论中所说,它返回405错误。 这可能意味着不允许您发出发布请求,因为它表明不允许使用该方法。

您是否考虑过使用Google Docs Api

设置非常简单,您只需要获取项目的API密钥即可。并将其作为查询传递到您的post方法中。

这是更好的方法,并且可能是唯一可填充或创建google docs文件的方法。