You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求实现Google表格数据自动批量提交至指定Google表单

实现Google表单批量自动提交的方案

核心原理

Google表单的提交本质是向表单的formResponse端点发送POST请求,只需构造正确的表单参数即可完成提交,无需模拟页面操作。

步骤1:确定表单提交地址

将你提供的表单URL中的viewform替换为formResponse,得到提交接口地址:

https://docs.google.com/forms/d/e/1FAIpQLSc4OjEgxlYpcAO7zkd9-jLNvkB3nZRsrkMv-IqVII6EnL0DnQ/formResponse

步骤2:Python批量提交脚本

使用requests库发送POST请求,以下是可直接运行的脚本(根据你的需求调整参数):

首先安装依赖:

pip install requests

脚本代码:

import requests
import random
from time import sleep

# 表单提交地址
FORM_URL = "https://docs.google.com/forms/d/e/1FAIpQLSc4OjEgxlYpcAO7zkd9-jLNvkB3nZRsrkMv-IqVII6EnL0DnQ/formResponse"

# A、B列固定值(所有提交共用)
FIXED_A = "你的固定A列内容"
FIXED_B = "你的固定B列内容"

# 对应entry编号:A→entry.1359390460,B→entry.760502198,C→entry.1358984343,D→entry.650693243
ENTRY_MAP = {
    "A": "entry.1359390460",
    "B": "entry.760502198",
    "C": "entry.1358984343",
    "D": "entry.650693243"
}

# 提交次数(可扩展)
SUBMIT_COUNT = 100

def generate_dynamic_cd():
    """生成每次提交的C、D列动态数据,可根据需求修改逻辑"""
    # 示例:随机生成字符串,可替换为从文件读取、数据库查询等逻辑
    c_value = f"动态C_{random.randint(1000, 9999)}"
    d_value = f"动态D_{random.randint(1000, 9999)}"
    return c_value, d_value

def submit_form():
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    }
    
    for i in range(SUBMIT_COUNT):
        try:
            # 获取动态C、D值
            c_val, d_val = generate_dynamic_cd()
            
            # 构造表单参数
            form_data = {
                ENTRY_MAP["A"]: FIXED_A,
                ENTRY_MAP["B"]: FIXED_B,
                ENTRY_MAP["C"]: c_val,
                ENTRY_MAP["D"]: d_val,
                "pageHistory": "0,2,6",
                "submit": "Submit"
            }
            
            # 发送POST请求
            response = requests.post(FORM_URL, data=form_data, headers=headers)
            
            # 验证提交是否成功(状态码200表示成功)
            if response.status_code == 200:
                print(f"第{i+1}条提交成功 | C: {c_val}, D: {d_val}")
            else:
                print(f"第{i+1}条提交失败,状态码: {response.status_code}")
            
            # 随机延迟,避免被Google限制(建议1-3秒)
            sleep(random.uniform(1, 3))
            
        except Exception as e:
            print(f"第{i+1}条提交出错: {str(e)}")

if __name__ == "__main__":
    submit_form()

关键说明

  • 动态数据生成:修改generate_dynamic_cd()函数,可实现从本地文件、数据库读取数据,或按业务规则生成自定义内容。
  • 防限制措施:添加随机延迟(sleep),避免短时间内大量提交触发Google的反爬机制。
  • 参数对应:确保ENTRY_MAP中的entry编号与表单字段一一对应,pageHistory需保持你提供的0,2,6。

注意事项

  • 请勿过度提交,避免Google账号或IP被限制。
  • 如果提交失败,检查headers中的User-Agent是否模拟真实浏览器,或调整延迟时间。

内容的提问来源于stack exchange,提问作者MZ Gaming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:43:17