首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python3:通过MechanicalSoup提交表单时没有任何反应

问题描述:

我正在使用Python3和MechanicalSoup库来提交一个表单,但是当我运行代码时,没有任何反应,也没有任何错误消息。我不知道问题出在哪里,请问可能是什么原因?

回答:

出现这种情况可能有几个原因,以下是一些可能的解决方案:

  1. 检查表单的URL和提交方法: 确保你正确设置了表单的URL和提交方法。使用MechanicalSoup的submit方法提交表单时,需要指定表单的URL和提交方法(例如GET或POST)。如果URL或提交方法不正确,表单提交可能会失败。
  2. 检查表单字段的名称和值: 确保你正确设置了表单字段的名称和值。使用MechanicalSoup的set方法设置表单字段的值时,需要指定字段的名称和对应的值。如果字段名称或字段值不正确,表单提交可能会失败。
  3. 检查是否需要设置其他请求头: 有些网站可能需要特定的请求头才能成功提交表单。你可以尝试设置一些常见的请求头,例如User-Agent,Referer等。使用MechanicalSoup的session对象可以设置请求头,例如:browser = mechanicalsoup.StatefulBrowser() browser.session.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'})
  4. 检查是否需要处理JavaScript: MechanicalSoup是基于BeautifulSoup和requests库的,它不能处理JavaScript。如果表单提交依赖于JavaScript操作,那么MechanicalSoup可能无法成功提交表单。你可以尝试使用其他支持JavaScript的库,例如Selenium。
  5. 检查是否需要处理验证码: 如果表单提交需要验证码验证,那么MechanicalSoup可能无法自动处理验证码。你需要手动处理验证码,并将验证码的值设置到表单字段中。
  6. 检查网络连接和代理设置: 确保你的网络连接正常,并且没有设置代理。有时候网络连接不稳定或者代理设置不正确会导致表单提交失败。

以上是一些可能的解决方案,希望能帮助你解决问题。如果问题仍然存在,请提供更多的代码和错误信息,以便我们能够更好地帮助你解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

再推荐一款小众且好用的 Python 爬虫库 - MechanicalSoup

# 打印当前选定表单内部全部元素 form.print_summary() 至于表单内的 input 普通输入框、单选框 radio、复选框 checkbox # 1、普通输入框 # 通过input的...checkbox" value="mushroom"/> browser["topping"] = ("bacon", "cheese") 浏览器对象的 submit_selected(btnName) 方法用于提交表单...需要注意的是,提交表单后的返回值类型为:requests.models.Response # 提交表单(模拟单击“提交”按钮) response = browser.submit_selected()...(user_agent=ua) # 打开目标网站 result = browser.open(home_url) 3-2  表单提交,搜索一次 使用浏览器对象获取网页中的表单元素,然后给表单中的 input... 输入框设置值,最后模拟表单提交 # 获取表单元素 browser.select_form() # 打印表单内所有元素信息 # browser.form.print_summary() # 根据name

75520

详解MechanicalSoup爬虫库

MechanicalSoup不仅仅像一般的爬虫包一样可以从网站上爬取数据,而且可以通过简单的命令来自动化实现与网站交互的python库。...因此,如果在开发过程中需要不断的与网站进行交互,比如点击按钮或者是填写表单,那么MechanicalSoup将会派上很大的用场。接下来,让我们直接用代码展示这个神奇的爬虫包是怎样工作的。...MechanicalSoup/MechanicalSoup 代码详解MechanicalSoup 我们将分两个案例详解是怎样通过MechanicalSoup实现网页内容获取和网站交互,首先看第一个爬取虎扑热帖...) 看到响应成功之后,我们再来提取一下需要提交表单 browser.select_form() browser.get_current_form().print_summary...结束语 上面两个例子虽然简单,但是这就是mechanicalsoup的基本工作套路:先创建一个浏览器实例,然后通过这个浏览器去帮你执行你想要的相关操作,甚至还可以在提交之前打开一个本地的可视化页面预览你即将提交表单内容

93610

详解MechanicalSoup爬虫库

MechanicalSoup不仅仅像一般的爬虫包一样可以从网站上爬取数据,而且可以通过简单的命令来自动化实现与网站交互的python库。...因此,如果在开发过程中需要不断的与网站进行交互,比如点击按钮或者是填写表单,那么MechanicalSoup将会派上很大的用场。接下来,让我们直接用代码展示这个神奇的爬虫包是怎样工作的。...MechanicalSoup/MechanicalSoup 代码详解MechanicalSoup 我们将分两个案例详解是怎样通过MechanicalSoup实现网页内容获取和网站交互,首先看第一个爬取虎扑热帖...) 看到响应成功之后,我们再来提取一下需要提交表单 browser.select_form() browser.get_current_form().print_summary...结束语 上面两个例子虽然简单,但是这就是mechanicalsoup的基本工作套路:先创建一个浏览器实例,然后通过这个浏览器去帮你执行你想要的相关操作,甚至还可以在提交之前打开一个本地的可视化页面预览你即将提交表单内容

69630

bs4--mechanize模拟浏览器

Mechanize模块,只支持python2,而我的环境是python3 使用pycharm创建虚拟环境,使用py2.7 如果非要使用py3,可以使用mechanicalsoup模块(网上大概看了下,都说不好用...():打开浏览器  .addheaders():User-Agent,用来欺骗服务器的  .open():打开网页,按照官网描述可以打开任意网页,不仅限于http  .select_form():选择表单的...,选择表单的ID的时候需要注意。 ....form[]:填写信息  .submit():提交 Mechanize测试 百闻不如一见,说得再多也不如直接测试一次 下面演示如何使用Mechanize模拟浏览器,搜索关键字 创建一个my_mechanize.py...print("%s : %s" % (link.url, link.text)) # 使用mechanize浏览器打开指定链接,执行命令 newlink = br.click_link(text='python3

62520

实用工具推荐:如何使用MechanicalSoup进行网页交互

简介 MechanicalSoup是一个基于Python的网络爬虫工具,它结合了两个强大的库:Beautiful Soup和requests。...MechanicalSoup将这两者结合起来,为开发者提供了一种简单而强大的方法来自动化网页交互。 2. 核心功能 MechanicalSoup提供了许多强大的功能,使得网页交互变得更加简单和高效。...表单填写与提交MechanicalSoup可以自动填写表单提交,无需手动操作。 网页元素查找:可以使用Beautiful Soup的强大功能来查找和处理网页元素。...在这一过程中,利用MechanicalSoup进行网页数据爬取成为了一种常见的解决方案。...然后,使用Beautiful Soup解析了页面内容,并通过查找特定的HTML元素提取了每个商品的名称、价格和评价信息。 数据分析与应用 爬取到的数据可以进一步分析和应用。

7610

关于在用curl函数post网页数据,遇上表单提交 type为submit 类型而且没有name和id可能遇到的问题及其解决方法

curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html 下面这个是没有name和id 标识的 这种类型,在填写完信息后,我们一般需要点一个按钮去触发提交事件。...上面的例子是最简单的,实际上,如果遇到了我说的,怎么办, 这时候要看它的表单的 action的链接 因为这个才是真正的提交页面...ajax提交的,就要用到抓包工具,抓取传送的源代码,再组合成data,post 还一种情况,就是有隐藏的输入情况,什么意思呢, type="hidden" 这是不用自己输入的,但是,我们在用curl函数访问登陆页面的时候

1.2K70

早起的Python工具箱——第一期

如果在做项目需要爬数据的话,可以先来看看有没有提供处理好的数据,如果有还是很方便的~ ?...black 本人代码写的随意,有时候需要将代码展示的拿出一堆杂乱的代码就比较尴尬,通过使用black,可以解放双手,再也不用手动调整代码格式了。...这个我们在之前文章也专门讲过,MechanicalSoup不仅仅像一般的爬虫包一样可以从网站上爬取数据,而且可以通过简单的命令来自动化实现与网站交互的python库。...import mechanicalsoup browser = mechanicalsoup.StatefulBrowser()browser.open('https://www.baidu.com/'...) 因此,如果在开发过程中需要不断的与网站进行交互,比如点击按钮或者是填写表单,那么MechanicalSoup将会派上很大的用场

78520

Python 开源项目 Top30 值得收藏

这也就意味着Grumpy没有虚拟机(VM)。编译好的Go源码是对Grumpy运行时的一系列调用,一个Go库服务于具有相似目的的Python C API。...它会自动为项目创建和管理virtualenv,并在安装/卸载软件包从Pipfile中添加/删除软件包。...可将任何视频游戏变成一个Python写成的成熟沙箱环境。该框架的目的是为机器学习和AI研究提供一个有价值的工具,不过对于爱好者来说也是非常有趣的。...一个与网站自动交互的Python库,自动存储和发送cookies,支持重定向,并可以跟踪链接和提交表格。...[Github 2244 stars] https://github.com/MechanicalSoup/MechanicalSoup No 16:Better-exceptions 该项目以更友好的形式展示

1.2K100

从15000个Python开源项目中精选TOP30,GitHub平均star为3707,赶紧收藏!

这也就意味着Grumpy没有虚拟机(VM)。编译好的Go源码是对Grumpy运行时的一系列调用,一个Go库服务于具有相似目的的Python C API。...它会自动为项目创建和管理virtualenv,并在安装/卸载软件包从Pipfile中添加/删除软件包。...可将任何视频游戏变成一个Python写成的成熟沙箱环境。该框架的目的是为机器学习和AI研究提供一个有价值的工具,不过对于爱好者来说也是非常有趣的。...一个与网站自动交互的Python库,自动存储和发送cookies,支持重定向,并可以跟踪链接和提交表格。...[Github 2244 stars] https://github.com/MechanicalSoup/MechanicalSoup No 16:Better-exceptions 该项目以更友好的形式展示

99190

从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!

这也就意味着Grumpy没有虚拟机(VM)。编译好的Go源码是对Grumpy运行时的一系列调用,一个Go库服务于具有相似目的的Python C API。...它会自动为项目创建和管理virtualenv,并在安装/卸载软件包从Pipfile中添加/删除软件包。...可将任何视频游戏变成一个Python写成的成熟沙箱环境。该框架的目的是为机器学习和AI研究提供一个有价值的工具,不过对于爱好者来说也是非常有趣的。...一个与网站自动交互的Python库,自动存储和发送cookies,支持重定向,并可以跟踪链接和提交表格。...[Github 2244 stars] https://github.com/MechanicalSoup/MechanicalSoup No 16:Better-exceptions 该项目以更友好的形式展示

1.1K60

Web 框架的替代方案

我在阅读诸如 MDN 之类的 Web 平台的文档,会发现很多工作方式都是杂乱无章的,没有数据绑定,没有列表同步,也没有反应性的结论性表述。...用于输入的表单 通常,当我们建立一个 SPA ,我们有某种类似 JSON 的 API,我们用它来更新我们的服务器,或我们使用的任何模型。...表单带有内置的输入验证特性:通过 regex 模式进行验证,对 CSS 中无效和有效表单进行反应性验证,处理必需表单和可选表单,等等。为了享受这些特性,你不需要看起来像表单的东西。...表单的 submit 事件是非常有用的。例如,它允许在没有提交按钮的情况下捕获“Enter”键,并允许通过 submitter 属性来区分多个提交按钮(正如我们将在后面的 TODO 示例中看到的)。...当任务被添加,这个表单通过克隆模板的内容而被重复。 隐藏的输入表示不直接显示的数据,但用于样式设计和选择。 注意这个 DOM 是如何简洁的。它没有在其元素中散布类。

2.5K10

Rc-form: 消失的“Ta”

zoo.zhengcaiyun.cn/blog/article/rc-form 前情提要 那是一个艳阳高照的早上,临近中休时间,小 H 正准备动身去吃午餐,突然,钉钉弹出了一条新消息:(登登登~)“您有一个新的 bug:表单点击提交按钮没反应...值为 A1展示字段B、C、D;为 A2 展示字段 B、 E、F。首先,下拉选择框 A 选中 A1 并填写字段 C、D,将 A 切换到 A2 后填充表单数据,点击提交。...咔咔咔咔咔~无论小 H 用鼠标如何点击着提交按钮,页面硬是没有任何反应,开发者工具中也没有一条由提交触发的请求。...小 H 这才发现了问题,因为在注册字段 D ,使用的是函数式自定义组件,而且并没有通过 forwardRef 去添加 ref,而官方提供的组件都是 Class 写法。...以上所有的内容总结成一段话就是:在使用表单自定义控件,如果使用的是函数式自定义组件,需要通过 forwardRef 支持 ref。

18310

In0ri:基于深度学习的网站内容污染检测系统

在监控网站,In0ri会定期抓取网站的屏幕截图,然后将其放入预处理器,预处理器将图像大小调整为250x250px,并在将图像传递到分类器之前对图像进行数字化处理。...如果被监控的网站确实被破坏,In0ri将通过电子邮件向用户发出警告。...url来运行crontab; 在Web服务器上运行内部代理; 第一种方法:URL检测 通过访问https://:8080/进入到In0ri的WebUI,然后点击“注册”,填写并提交表单...第二种方法:内部代理 通过访问https://:8080/进入到In0ri的WebUI,然后点击“注册”,填写并提交表单。...安装内部代理运行所需的依赖包: python3 -m pip install watchdog python3 -m pip install requests 编辑config.json文件: nano

59540

防止表单重复提交的思路和方法

比如当他点击提交表单,服务器处理比较慢, 页面上没有任何反应,他会迫不及待地再点击几次,这样就会产生重复数据或者报错,或者他会刷新一下再次提交。...对于如何处理重复提交,一般教科书上都有点明,不外乎是在js代码中增加限制或者通过session来处理。...关于js代码限制,就是当用户第一次提交后,将提交按钮设置为“disable”状态,或者直接不提交重复请求,这只能处理用户重复连续点击的情况,如果用户刷新页面后再次提交,这种方法就无济于事了,因此我们更多的是通过...session处理,就是在访问表单提交,服务器端生成一个随机序列,存储在session中,并传递到客户端,用户提交,连同这个序列一起传递到服务器,后端程序会判断这两个序列是否一致,如果一致,表明是第一次提交...但是在多服务器多用户的场景下,以上方法也都会失效,在多服务器场景下,session存在于每台服务器中,请求是通过负载均衡机制分配到各台服务器上的,要通过session防止重复提交,必须有一套定向分派请求或者

1.8K80

EasyNVR前端防止提交成功后多余操作提交

回到具体问题上来,有用户反应EasyNVR前端对于表单提交这一块用户体验不是很好。主要问题是表单提交成功以后,提交按钮依然可以触发。居然有用户提出来,我们就要尽最大可能满足用户需求。...Ajax来进行表单提交的。...首先我们抛开提交的内容,从提交的过程来说, 在EasyNVR配置表单中我们没有只需要注重ajax请求动作的成功和失败; 我们主要调用的函数就是success: function、error: function...当赋予该属性该元素将变得不可交互。可以用这个属性来屏蔽提交按钮。...下一篇将介绍如何实现当表单内容出现变化后可以提交表单内容不变的情况下依然屏蔽提交按钮。

80710

python爬虫---从零开始(一)初识爬虫

2,下面我们来提到两个名词:   1)请求,request即为我们的请求,当我们在浏览器内输入网址,敲击回车,这时浏览器就会发送消息给该网址所在的服务器,这个过程叫做HTTP Request   2)...post请求:比get方式多包含一个formdata数据,且参数没有在URL地址内。不可以直接在地址栏访问,需要构造一个form表单,进行提交访问。     ...4)请求体,请求额外携带的数据,如表单提交表单数据,一般来说get方式请求,都没有请求体。 4,Response中包含什么?   ...我们爬取的数据大部分就是从这个部分获取的 5,我们所需要的环境和资源   1)python环境,最好是python3,python2在2020年就不再维护了,语法还是有一定差异的,我建议使用python3...有的是通过原生html标签就可以获取到数据,则有的需要通过解析ajax请求来取得数据。

53850

三分钟让你了解什么是Web开发?

我们需要对提交的Click事件作出反应,并检查web元素是否有我们需要的数据。如果有任何遗漏,我们可以显示错误消息并停止将数据发送到服务器。...通过认证用户创建新的博客 为此,我们需要一个带有两个输入字段(标题、内容)的HTML表单,用户可以通过表单创建一个博客帖子。...在用户输入信息并单击submit按钮后,“创建Post”,这些表单值将通过Post发送到web服务器。可以使用任何服务器端脚本语言读取POST值。...使用Ajax,整个页面并没有刷新—只是需要更改的部分。所以,如果你有了新的邮件,而不是刷新整个页面,你只是看到了一个新的电子邮件在上面。...POST:向服务器提交表单数据,或者通过Ajax提交任何数据。 例如,当你在浏览器中输入google.com,浏览器会将这个命令发送到google.com服务器。

5.7K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券