可以用Python Requests填写表单吗?

os8fio9y  于 2023-11-16  发布在  Python
关注(0)|答案(1)|浏览(106)

我正在制作一个Python库来登录到Google帐户,但一直想知道我是否可以在Python请求中做到这一点.我只是想填写它要求您的电子邮件的空格.这是我的代码到目前为止.我不能使用API的由于技术原因在我的Chromebook.

import requests

def submit_form(timeout=10, check_status_code=True):
    try:
        google_login = requests.get("https://accounts.google.com/ServiceLogin?elo=1", timeout=timeout, allow_redirects=True, verify=True)
        if check_status_code:
            print(google_login.status_code)
    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")

submit_form(timeout=10, check_status_code=True)

字符串

xdnvmnnf

xdnvmnnf1#

一般来说,表单只存在于浏览器中。
用户的典型工作流是,用户的浏览器将对具有表单的页面发出GET请求。此表单将具有与之关联的一些html,这些html将告诉浏览器如何呈现每个表单项以及在何处提交表单(操作)和使用哪种数据表示(application/x-www-form-urlencoded或multipart/form-data)。用户做他们的事情,然后最终点击提交按钮。在这一点上,浏览器转换所有的表单数据,并提交一个POST请求到指定的位置,表格中的数据。
作为一个python脚本,你不需要浏览器,如果你已经知道表单的细节,那么你甚至不需要GET表单。你所需要做的就是提交一个POST请求。
现在,如果网站对自动化友好,那么他们的表单可能非常一致且易于使用。这实际上意味着他们的表单是指定需要提交哪些数据的API。
然而,有些网站真的不希望机器人使用他们的表单,所以他们动态地改变了他们的表单,所以试图从中提取一个API是困难的。Goggle做了很多事情,以确保它真的是一个人在浏览器中填写它的表单,而不是一个机器人。但谷歌也让它很容易为 * 授权 * 机器人使用一个专用的API。
所以你应该使用他们专用的API,我保证如果你能用python,你就能用他们的API。

相关问题