问题标签 [mechanize-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
393 浏览

python - 机械化流式下载python

我正在尝试从需要 htaccess - 样式身份验证以及 cookie 的站点下载文件,并且正在使用 python mechanize 下载这些文件。有没有办法在将整个文件加载到内存之前开始写入?

编辑:我正在使用 mechanize.Browser 来跟踪身份验证/cookie,因此我需要一种在调用 urlopen 时使用浏览器状态的方法,或者是一种更好的用户浏览器方法。

edit2:使用 urllib2 进行了重写,但如果有一个简单的解决方案,我仍然有点好奇。

0 投票
1 回答
387 浏览

web-scraping - 单击输入标签,而不是表单

mechanize用来刮几页。分页是通过 javascript post 实现的,分页链接实际上是input按钮。这些不包括在表格中。知道如何触发这些点击吗?

我仍在编写脚本,可以使用mechanize-rubymechanize-python。任何一个解决方案都会有所帮助。

按钮的html是:

0 投票
1 回答
4033 浏览

python-2.7 - 使用 Python 的 Mechanize 模块验证 br.submit()

只是尝试使用 mechanize 登录网站。当我打印“br.form”时,我可以看到我的凭据输入到我的表单中。但我不知道如何正确提交表单。

我使用“br.submit()”并尝试通过打印 br.title() 来验证它是否已进入下一页,但出现的标题是用于登录屏幕,而不是登录后屏幕。

0 投票
1 回答
8342 浏览

python - Python中的机械化-提交后重定向不起作用

我刚开始在 Python 中使用 mechanize 并且已经遇到了一些问题。我在 StackOverflow 和 Google 上环顾四周,我看到人们说文档很棒,应该很容易让它工作,但我想我不知道如何查找该文档,因为我可以找到的是代码示例,它们并没有真正教我如何做我想做的特定事情。如果有人可以向我指出此类文档,我会很高兴自己阅读并解决我的问题。

对于实际问题,我试图通过在表单中​​发送我的用户名和密码信息来登录网站。当信息正确时,我通常会被重定向,但它在机械化中不起作用。

这是我没有得到的部分,因为如果我在调用提交后立即打印页面的html内容,页面会显示一个变量,表明认证有效。如果我将密码更改为不正确的密码,html 会显示一条消息“凭据无效”,就像我正常浏览网站一样。

这是我如何做的代码示例。请记住,这可能是完全错误的,因为我只是试图应用我在示例中找到的内容:

在这个特定的示例中,我打开http://www.complexejulieequilles.com,然后点击底部的链接,其中包含“管理”文本,在表单中输入我的凭据,然后提交。通常,我会被重定向到我所在的第一个页面,但会有更多的按钮只能由管理员使用。我想单击其中一个链接来填写另一个表格,以添加我拥有其电子邮件地址、姓名等的用户列表。

我缺少一些简单的东西吗?我想我掌握了基础知识,但我对库的了解不足以找到重定向出了什么问题。

0 投票
1 回答
7192 浏览

python - Python Mechanize.Browser.Open(url) 状态码

我最近从 perl 转移到了 python,并且正在更新我的一些使用 perls WWW::Mechanize 的脚本来使用 python mechanize 模块。

到目前为止一切都很好,但我无法在任何地方找到 HTTP 状态代码?(200、301 等)

我用谷歌搜索并找到了这个,但他们不是查看代码的方法吗?

在 Python 中使用 Mechanize 获取和捕获 HTTP 响应

谢谢。

0 投票
1 回答
938 浏览

python - Python Mechanize 没有列出所有表格?

我一直在编写一个程序来登录 Facebook 并将状态更新为一个辅助项目。我设法让程序登录。但是,我无法选择最终成为“在此处输入您的状态”框的文本区域。在 Chrome 中使用“检查元素”,我可以看到它所在的表单,但是在程序中列出表单似乎并没有列出所述表单...

完整输出如下:

我再次通过 Inspect Elements 浏览了 Facebook 的来源,“navSearch”是“查找人、事物等”。搜索栏,未命名的表单似乎与注销按钮有关。然而,虽然 Inspect Elements 至少提供了 2 个表格,但其中一个包含状态更新框。我无法确定它是否是因为 JavaScript(而状态更新框代码块被封装在 中,navSearch 和注销表单也是如此。)我能找到的最相关的东西是 navSearch并且注销表单在一个单独的 div 中,但我觉得这对机械化来说应该不是什么大问题。我的代码有什么问题,还是完全不同?

0 投票
1 回答
1830 浏览

web - HTTP 错误 403:robots.txt 不允许的请求生成?

可能重复:
Robots.txt 的伦理

我正在尝试使用 Mechanize 来自动化网站上的一些工作。我已经设法通过使用 br.set_handle_robots(False) 绕过上述错误。使用它有多合乎道德?

如果不是,那么我想遵守“robots.txt”,但我试图机械化的网站阻止我查看 robots.txt,这是否意味着不允许机器人访问它?我的下一步应该是什么?

提前致谢。

0 投票
0 回答
265 浏览

python - 无法使用 mechanize 使用 python 选择表单

我正在尝试使用 python 选择一个表单,但它不起作用。

我正在使用的页面是:http: //www.safilonet.safilo.com/

出现的错误是:

你能帮我么?谢谢

0 投票
0 回答
646 浏览

python - 如何使用 Python Mechanize 更改 HTML 复选框输入的值?

我无法使用 Python 库 Mechanize 修改复选框的值。问题是表单不会执行所需的操作,因为该值是由 JavaScript 修改的,而 Mechanize 不支持。

find_control() 方法返回错误。下面是有问题的代码片段:

返回的错误是:“mechanize._form.ItemNotFoundError:名称为 'stringGoesHere' 的项目不足”。我还尝试用下面的代码行替换 find_control() 方法,并产生相同的错误消息:

如果输入被忽略,我已经能够使用所需的值创建一个名为“pkid”的新表单字段,但尚未测试此解决方案。在我看来,必须创建一个具有相同名称的附加输入才能获得所需的效果,这似乎有点倒退:

我希望有人能指出我正确的方向。Python Mechanize 的文档有点缺乏,谷歌搜索也没有真正的帮助。

我尝试提交的表单的精简版本如下:

0 投票
0 回答
1158 浏览

python - 如何使用 mechanize-python 处理弹出窗口?

我正在尝试编写一个程序来访问该站点。当密码和 ID 都正确时,页面会重定向到另一个 URL。当用户ID错误时,它会通过弹出窗口通知用户,而当密码错误时,它不会说什么(尝试Barcode:21290004296682 PW:0000)。

我面临的问题是我无法机械化区分“错误的条形码”和“错误的密码”。换句话说,我无法让它识别输入错误条形码后显示的弹出对话框。

有人可以帮忙吗?在人们开始认为我这样做是出于恶意目的之前,这实际上是为了我大学的信息安全项目。