Python中如何实现自动网页填报的方法?

非职业程序员,略会点编程 现在工作中有个任务是需要在网站人工录入若干组数据,不知道有什么方式能自动帮我填表呢? 系统还是 windows,不过 windows 编程不会,估计也没有时间去学。正好目前电脑搭配有 python 环境,求提供个原理或技术方向。 感谢诸位。


Python中如何实现自动网页填报的方法?
50 回复

直接找网页的接口然后写脚本?


requestsBeautifulSoup可以搞定自动网页填报,核心是模拟浏览器操作。这里给你一个完整的登录并提交表单的示例:

import requests
from bs4 import BeautifulSoup

# 1. 创建会话保持登录状态
session = requests.Session()

# 2. 先获取登录页面,提取必要的token(如CSRF令牌)
login_url = 'https://example.com/login'
response = session.get(login_url)
soup = BeautifulSoup(response.text, 'html.parser')

# 假设csrf_token在name='csrf_token'的input标签里
csrf_token = soup.find('input', {'name': 'csrf_token'})['value']

# 3. 构造登录数据并提交
login_data = {
    'username': 'your_username',
    'password': 'your_password',
    'csrf_token': csrf_token
}

login_response = session.post(login_url, data=login_data)

# 检查登录是否成功
if '登录成功' in login_response.text:
    print("登录成功")
    
    # 4. 访问需要填报的页面
    form_url = 'https://example.com/form'
    form_response = session.get(form_url)
    form_soup = BeautifulSoup(form_response.text, 'html.parser')
    
    # 5. 提取表单数据并填写
    form_data = {
        'field1': 'value1',
        'field2': 'value2',
        # 其他表单字段...
    }
    
    # 6. 提交表单
    submit_url = 'https://example.com/submit'
    submit_response = session.post(submit_url, data=form_data)
    
    print(f"提交结果: {submit_response.status_code}")
else:
    print("登录失败")

关键点:

  1. requests.Session()保持会话,这样cookie和登录状态会自动保存
  2. 先用BeautifulSoup解析页面,获取隐藏的表单字段(如CSRF令牌)
  3. 构造正确的表单数据字典,字段名要和网页中的name属性一致
  4. session.post()提交数据

如果遇到JavaScript动态加载的页面,可以考虑用selenium来模拟浏览器操作。不过对于大多数简单表单,requests+BeautifulSoup的组合就够用了。

先分析目标网页的HTML结构,找到正确的表单字段名和提交地址。

总结:先用requests+BeautifulSoup分析网页结构,再模拟表单提交。

爬虫方向

python+selenium 了解一下

按键精灵?

火车头试试?

数据还是要准备好一个列表先。

python+selenium 可以

网站是你们自己的么?直接找后端程序员,让他们帮你批量把数据导入数据库。

网页接口?动态数据也是可以的吗?
就是照着一电子表格录入
显然不是自己的,自己的话就简单了。
好的
好的

python+selenium +10086,之前做过这种事,SE 用起来真的爽,什么都不用考虑

纯网页操作强推 firefox + imacros,学习曲线最短,照 demo 修改下就能上手

直接抓包,模拟 http 协议发送数据

Selenium 或抓包

python post 循环 以前搞群发 就这样。

我有个表格自动填充软件

能无偿分享吗?嘿嘿嘿

油猴脚本?

selenium 坑巨多的好不?效率奇低,巨慢。版本林立,哪个版本对哪个浏览器,搞得我脑子都糊涂了。

我到现在还没解决最新版 selenium+最新版 geckodriver+FFox 60 ESR 打开网页后,为什么没有携带 ffox 原有 cookies 问题( ffox 已经登陆,代码已经携带 profiles,但 selenium 打开后还是另起一个窗口+需要登陆)。

如果楼主运气好,没有遇到奇怪的坑,用 selenium 倒是不错,代码很简单的,找 id,click 就行。比分析传参简单多了。

15 年前,maxthon, theworld 就有这个功能,特别好用。

还有 selenium IDE 可以无脑录动作


很遗憾,imacros for ffox 扩展已经弃疗了,几百年不更新。我曾经也是它的忠实用户……
imacros 不支持 ffox 60+,我现在用 selenium IDE 顶着,只是不如 imacros 好用罢了( selenium IDE 不能直接改源码,不能循环播放 N 次,好难受)
imacros 不支持(也许是太冷门我没发觉?)和 python 联合运作,我想把一个链接传给 imacros,让 imacros 接受链接后自动运行,当然这是不行的。
这是一个十分“孤立”的软件。

但我录入数据是多份,类似多个人的用户信息,手工录入

没人说 chrome 嘛?

maxthon/theworld 自动填表就是可以秒填多个「模板」的。

油猴脚本是个不错的选择,前几天刚试过类似功能。
1. 数据拼装成 JsonArray 存入 localstorage
2. 读取后使用 shift 获取移除首位,剩下的重新写入 localstorage
3. 读出的数据使用 jquery 填入表单并自动提交
4. 提交后重定向到表单页,重复 2~4 的步骤。

现在用 fx 52 + imacros 8.9.7,之所以不更新是因为 fx 收紧一些扩展权限,imacros 最后更新的版本都禁止传递网页 document 了,之前最爽的就是通过 js 调用 fx 其他扩展一些命令,以及一些内部命令

与 python 交互一般都是用 xmlhttprequest 完成

python-selenium+1
嗯,还真干过这种事

python + selenium .

这事我做过,就是把 excel 数据录到网页表格里,用的 bookmarklet,简单直接
https://www.v2ex.com/t/421740

个个都说 selenium。。
selenium,phantomjs 太不友好了,坑巨多……
强烈支持 puppeteer 了解一下!谷歌出品,chromium,底层 api,async/await 异步写法,同时可使用 node 其他库

api 非常简洁易用

网站?那随便 Ajax 提交就 OK 了吧😛

我也觉得 selenium 坑巨多。

为啥没人说 jmeter 呢。当然如果有 js 要执行的话。jmeter 就搞不定了。

postman,katalon,jmeter…随便能做自动化的都可以,你要愿意写 python 脚本就更多了

楼上说的我都会, 付费解决?[doge]

提一个需求,后台管理系统增加从 Excel (文件)导入功能

浏览器扩展了解下?油猴脚本也可以很简单的实现,开发简单成本低,功能强大,需要的话联系我,我可以有偿帮你写,价格可以商量

浏览器扩展,或者网络搜索。。。。。忘记叫啥了,以前用的一款软件,设定快捷键和数据,然后自动填表。。

chrome 一个插件 你可以搜搜

auto it






才发现网站只支持 IE 浏览器,非纯网页解析不了表单代码,该系统信息: http://www.zidonghua.com.cn/product/detail.asp?id=35605

没明白楼主具体想怎么做?

可以试下 autohotkey

自动填写在线留言?

您好请问是什么网站,我可以帮忙看看。

建议试试看。影刀

回到顶部