问题标签 [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 投票
3 回答
11810 浏览

python - Python:如何转储 mechanize.Browser 实例的 cookie?

我正在学习如何使用mechanize,一个 Python 模块来自动与网站交互。

一项功能是自动处理 cookie。我想从mechanize.Browser实例中转储 cookie 以进行调试,但我自己似乎无法弄清楚这一点。

0 投票
2 回答
1489 浏览

python - 斜纹/机械化访问 html 内容

关于斜纹机械化的几个问题:

  1. Twill 作为网络自动化工具是否仍然适用?如果是,那么为什么目前没有维护?如果没有,Mechanize 是否进一步成熟以支持 Twill 风格的简单脚本?或者是否有另一个包已经加紧填补空白?

  2. 我能够非常快速地使用 Twill 在 python 中设置几个测试套件,但我对如何访问 Twill 在我的 python 程序中吐出的信息有点困惑。也就是说,我可以执行 showforms() 并查看整齐列出的表单值,我可以使用 fv 更新表单值并提交。但是我如何以 python var 的形式访问这些表单值之一?我该怎么说:someField1Value = fv("1","someField1")

0 投票
3 回答
3086 浏览

python - Python Mechanize + GAEpython 代码

我知道以前有关 mechanize + Google App Engine 的问题, 我应该使用什么纯 Python 库来抓取网站?机械化和谷歌应用引擎

这里还有一些代码,我无法在应用引擎上工作,抛出

有人愿意分享他们的工作机械化 + appengine 代码吗?

0 投票
1 回答
3708 浏览

python - python:模块没有属性机械化

给出:

我很困惑。我为 2.6 和 2.7 安装了模块,结果相同...

0 投票
3 回答
9506 浏览

python - 如何在python中删除一个类的实例(强制)?

我正在使用脚本来测试网站是否运行顺畅,基本上我每 20 分钟左右打开一次网站并检查响应时间等。像这样:

我知道 python 会自己进行垃圾收集,我们真的不应该打扰,但是当我检查网络监视器时,我总是发现几个未关闭的连接每个运行 1 小时或更长时间。并不是所有打开的连接都会挂在那里,只是其中一些。我很困惑,或者也许有一种方法可以手动销毁这些实例?

0 投票
3 回答
16687 浏览

python - 如何让机械化请求看起来像是来自真实浏览器

好的,这是我在登录帐户时从 Live HTTP Header 获得的标题(只是一个示例)信息:

通常我会这样编码:

上面的代码工作正常。我的问题是,我是否还需要添加以下这些行(以及以前的标题信息中的更多内容)LoginHeader以使它看起来真的像 Firefox 的冲浪,而不是机械化?

需要欺骗哪些部分/多少标题信息才能使其看起来“真实”?

0 投票
2 回答
2271 浏览

python - 代理似乎被机械化忽略了?

我正在使用 http 代理和 Mechanize 模块。我初始化机械化对象并像这样设置代理:

然后我像这样打开网站:

我的问题是机械化似乎完全忽略了代理。如果我调试和检查 br 对象,在代理处理程序下我可以看到我的代理设置。但是,即使我提供了一个糟糕的代理 Mechanize 也只是像我从未设置过代理一样开展业务。是什么赋予了?

编辑:我也试过:

它似乎也忽略了我的代理。(我什至没有给它一个有效的代理,它不应该在 URLError 上失败吗?)

0 投票
3 回答
929 浏览

python - Python网络抓取线程性能

我有一个需要测试功能和性能的 Web 应用程序,我们计划使用的部分测试套件已经用 Python 编写。当我第一次写这篇文章时,我使用 mechanize 作为我的网络抓取方式,但它似乎对我想要做的事情来说太笨重了(或者我错过了一些东西)。

我正在尝试做的基本布局如下。都是对象。

  • 用户有通讯(曾经是我的东西和机械化之间的接口)
  • Comm 有浏览器(保存我的 CookieJar、urllib2 和 BeautifulSoup 对象,以前是机械化的)
  • 浏览器有表单(过去是机械化处理的)

现在,就线程而言,我把它记下来了。将根据需要在处理 GIL 和运行单独的 Python 实例之间进行调整,但会采纳建议。

所以我需要做的是线程用户点击应用程序并做各种事情(登录、填写表单、提交表单进行处理等),同时不要让测试框尖叫得太大声。我目前的机械化问题似乎是 RAM。

导致 RAM 问题的部分原因是需要为每个用户提供单独的浏览器实例,以防止JSESSIONID每次我与不同的用户一起做某事时覆盖 cookie。

其中大部分可能看起来微不足道,但我试图在这里运行数千个线程,所以小的调整可能意味着很多。任何输入表示赞赏。

0 投票
1 回答
253 浏览

python - GAE 机械化模块

我试图让 mechanize 模块与 GAE 一起工作,但没有运气。我使用了最新版本的 mechanize 以及来自此处 Python Mechanize + GAEpython code的 GAE 特定版本。

我想做的是登录网站并提交表格。

示例代码

使用机械化模块,我得到

和gaemechanize我得到

该代码已经过测试并且可以在 gae 之外运行,所以这不是问题。如果这有帮助,我正在使用 kay 框架。

0 投票
3 回答
1287 浏览

python - 尝试使用 python mechanize 进行 HTTP POST 时出现 400 错误请求错误

在 Firefox 中执行 HTTP POST 时,我使用 Live HTTP 标头检查了标头信息,然后我尝试使用 mechanize 执行此操作,这给我带来了 400 错误请求错误。这是我的代码:

变量是从 LiveHTTPHeaders 复制的,我仍然收到 400 错误。有什么遗漏吗?