问题标签 [twill]

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 投票
2 回答
1096 浏览

python - 如何将这种“Python+twill+mechanize”组合部署到“Google App Engine”?

我一直在尝试将我的登录名和密码从Python脚本传递到eBay登录页面。后来我希望这个脚本从“谷歌应用引擎”运行

有人建议我使用“机械化”。不幸的是,它对我不起作用:



早些时候我尝试使用Python斜纹布- 直到一位支持者建议我下载最新版本的mechanize然后执行以下步骤,它也不起作用:

  1. 在我的计算机上找到以下文件夹:“ C:\Python25\Lib\site-packages\twill\other_packages\_mechanize_dist

  2. 将其名称更改为“ _mechanize_dist_backup ”(因此,完整路径应为“ C:\Python25\Lib\site-packages\twill\other_packages\_mechanize_dist_backup ”)

  3. 复制“ mechanize ”文件夹(位于“ mechanize-0.2.2 ” - 我从“mechanize”官方网站下载并解压缩的文件夹)并将其粘贴到“ C:\Python25\Lib\site-packages \twill\other_packages ”(完整路径,因此是“ C:\Python25\Lib\site-packages\twill\other_packages\mechanize ”)

  4. 将其名称更改为“ _mechanize_dist ”(完整路径为“ C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist ”)

  5. 从“ _mechanize_dist_backup ”复制“ ClientForm ”文件并将其粘贴到“ _mechanize_dist ”中(实际上,我发现有两个名为“ ClientForm ”的文件:一个是python文件,另一个是编译的python文件 - 我复制并粘贴了两个他们)。

执行完所有这些步骤后,我尝试从Python中的斜纹外壳登录到我的eBay帐户,它成功了!!!我什至可以用同样的方式登录我的雅虎邮箱并查看我的邮件!

但是现在我有一个难题:我不知道如何将我的脚本部署到“ Google App Engine ”。

早些时候我被告知,如果我想在App Engine项目中使用第三方库,我只需在部署应用程序时将它们包含在我的应用程序中 - 例如,如果使用twill,我只需要复制twill文件夹进入我的应用程序的文件夹并部署它。

但是现在我不仅将这个斜纹文件夹作为要包含的第三方库,而且在“ C:\Python25 ”中执行的所有这些更改(在“ C:\Python25\Lib\site-packages\twill\other_packages ”,准确地说),而我的应用程序文件夹——我的脚本所在的文件夹(“ my_script .py”文件)——位于“ E ”磁盘上。

有人可以在这里给我一些建议吗?

0 投票
1 回答
409 浏览

google-app-engine - GAE 是否完全接受斜纹布?

我在目录“ my_application ”中创建了我的GAE应用程序。在这个目录中,我创建了一个 .py 文件并将其命名为“ my_scrypt ”。

my_scrypt ”开头的内容如下:



然后我在我的机器( Windows XP )上使用“ GAE Launcher ”在已安装的浏览器(Mozilla FireFox )上本地运行它——一切都很好——我可以在屏幕上看到那句话(“这是我的第一个应用程序”)。

然后我将这个应用程序部署到GAE(再次借助“ GAE Launcher ”)——一切都很好——我可以在屏幕上看到相同的句子。

然后我稍微改变了“ my_scrypt ”的内容:



下载twill0.9(从这里),从那里选择并复制“ twill ”文件夹,并将其粘贴到“ my_application ”目录中。

当我在本地(使用“ GAE Launcher ”)运行这个新应用程序时,一切都很好 - 我可以在屏幕上看到yahoo.com链接列表,但是当我将此应用程序上传到GAE时,我只收到一条错误消息。

为什么会这样?我不认为是因为这里twill使用的mechanize版本太旧了——“ my_script ”中的代码太简单了,任何版本的mechanize都必须能够处理。

GAE是否完全接受斜纹(作为外部模块)?

您可以在正下方 (↓) 的“更新 1”部分中查看错误的堆栈跟踪。


更新 1:

(此更新是我对尼克的回答)

你好,尼克。我检查了管理控制台,所以这里是堆栈跟踪:


0 投票
1 回答
90 浏览

module - “twill”中的“tidy”在哪里?

“twill”文档页面上写着:


默认情况下,twill会在处理页面之前通过tidy运行页面。这是默认启用的,因为解析 HTML的Python库在处理不正确的HTML方面非常糟糕,并且通常会在“真实世界”网页上返回不正确的结果。要禁用此功能,请设置config do_run_tidy 0


但是这个整洁的程序在斜纹布里面的什么位置呢?我已经下载了“ twill 0.9 ”并查看了“twill”文件夹的内容——我只是找不到这样一个名为“ tidy ”的文件(或模块)

0 投票
1 回答
246 浏览

jquery - 斜纹 - 如何选择具有相同名称的多个选择

我正在使用 twill 和 python 编写一个网络爬虫。showforms() 返回

我已经删除了大部分行以使其更易于阅读。我的问题是实际上有 12 个选择,并且所有选择的名称都为“类”。这些通过 CGI 作为列表传递。然而,Twill 似乎无法区分它们。另外,当我跑步时

我收到以下错误:

我尝试了一些解决方法,包括用它们的 id 重命名选择,然后重写提交函数以使用 jQuery 选择器并将它们的“名称”属性重新分配回“类”:

当我在浏览器中查看它时,它似乎按预期重新分配它们。但是,斜纹布的标题仍然显示它以名称“classes1”、“classes2”等提交。

任何帮助将非常感激。我没有我所知道的解决方法。因为这不是我的页面,所以我受到他们的控制器对“类”选择列表的期望的约束。

0 投票
2 回答
696 浏览

python - 在经过身份验证的会话中使用斜纹/机械化检索应用程序/json 文档

我需要检索 MIME 类型为“application/json”的文档。我正在使用斜纹布登录网站,当我尝试go指向指向 JSON 文档的 URLshow时,我收到以下消息:

我尝试将“接受”字段更改为“应用程序/json”,但仍然没有骰子。

谢谢!!

0 投票
0 回答
253 浏览

python - 将 cookie 从斜纹布转移到 zope

我正在尝试找出一种将 cookie 从 Twill 浏览器实例传输到 Zope 浏览器实例的方法。它们都建立在 Mechanize 上,所以这应该是可能的。

我努力了:

但这似乎没有奏效。

有任何想法吗?

谢谢!

0 投票
1 回答
950 浏览

python - Django & twill - 未设置会话 cookie

我正在使用twilldjango-test-utils测试一个 django 应用程序,但它没有让我登录。

我认为它没有设置 django 会话 cookie。我去了一个调用 的网页(斜纹)request.session.set_test_cookie(),然后调用返回twill.show_cookies()(应该打印出 cookie),显示没有 cookie。在另一个页面/视图中,request.session.test_cookie_worked()返回False.

奇怪的是,另一个页面调用request.set_cookie(...)手动设置 cookie,并且有效。twill.show_cookies()显示那个 cookie。所以一些cookies正在工作,但会话中间件似乎没有工作......

会发生什么?如何让 django 会话 cookie 设置为斜纹?

其他一些人也有类似的问题,例如在 django-users上,在另一个 twill/django 脚本上评论 cookie

0 投票
1 回答
916 浏览

python - python:获取google adsense收益报告

我需要一个获取 google adsense 收入的 python 脚本,我发现了 adsense 刮板: http : //pypi.python.org/pypi/adsense_scraper/0.5 它使用 Twill 和 html5lib 来刮掉 google adsense 收入数据。当我使用它时,我收到此错误消息:

所以重要的是:

有人可以告诉我错误在哪里吗?有没有更好的方法通过 python 获取数据?谢谢

0 投票
2 回答
447 浏览

python - Python 模块“twill”——变量赋值期间的 HTML 泛滥

我正在制作一个简单的命令行程序,用于使用 Python 中的 Twill 模块从网站(非常通用)收集和解析信息。我想使用 Twill 的 show() 命令将 HTML 输出分配给一个变量,以通过我的解析命令运行页面,但每次我将它分配给一个变量...

我在命令行(和 IDLE,就此而言)收到了大量的 HTML。为什么是这样?我不是要打印变量,它附近没有打印命令。我只想分配以进行进一步的操作。为什么变量赋值会导致打印发生?这不是一个致命的错误或任何东西,只是真的,真的很不方便。我在 Python 2.6、Twill 0.9 和 Ubuntu 上,如果这与任何事情有关的话。

0 投票
1 回答
1842 浏览

javascript - 斜纹布是否正确/完全运行javascript?

如果我运行斜纹脚本来下载网页,斜纹脚本会在页面上运行任何 javascript(内联或其他)吗?它会正确执行吗?

官方twill 网站好像没有说明twill 是否支持js(这让我猜是不支持)