【发布时间】:2010-09-08 18:14:39
【问题描述】:
我一直在尝试将我的登录名和密码从 Python 脚本传递到 eBay 登录页面。稍后我希望从“Google App Engine”运行此脚本
有人建议我使用“mechanize”。不幸的是,它对我不起作用:
IDLE 1.2.4
>>> import re
>>> import mechanize
>>> br = mechanize.Browser()
>>> br.open("https://signin.ebay.com")
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
br.open("https://signin.ebay.com")
File "build\bdist.win32\egg\mechanize\_mechanize.py", line 203, in open
return self._mech_open(url, data, timeout=timeout)
File "build\bdist.win32\egg\mechanize\_mechanize.py", line 255, in _mech_open
raise response
httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt
>>>
之前我尝试使用 Python 和 twill - 直到我下载了最新版本的 one supporter suggested 机械化,然后执行以下步骤:
在我的电脑上找到以下文件夹:“C:\Python25\Lib\site-packages\twill\other_packages\_mechanize_dist”
将其名称更改为“_mechanize_dist_backup”(因此,完整路径应为“C:\Python25\Lib\site-packages\twill\other_packages\_mechanize_dist_backup")
复制“mechanize”文件夹(位于“mechanize-0.2.2” - 我从@987654322 下载并解压缩的文件夹@) 并将其粘贴到“C:\Python25\Lib\site-packages\twill\other_packages”(完整路径,因此,是“C:\Python25\Lib\site- packages\twill\other_packages\mechanize")
将其名称更改为“_mechanize_dist”(完整路径为“C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist”)
从“_mechanize_dist_backup”复制“ClientForm”文件并粘贴到“_mechanize_dist”中(其实我在那里找到两个名为“ClientForm”的文件:一个是 python 文件,另一个是编译后的 python 文件 - 我复制并粘贴了这两个文件。
完成所有这些步骤后,我尝试从 Python 中的 twill shell 登录到我的 eBay 帐户,并且成功了!!!我什至可以用同样的方式登录我的 Yahoo 邮箱并查看我的邮件!
但现在我有一个难题:我不知道如何将我的脚本部署到“Google App Engine”。
之前的 I had been advised,如果我想在 App Engine 项目中使用第三方库,我只需在部署应用程序时将它们包含在我的应用程序中 -例如,如果使用 twill,我只需将 twill 文件夹复制到我的应用程序的文件夹中并部署它。
但现在我不仅将这个 twill 文件夹作为要包含的第三方库,而且所有这些更改都在“C:\Python25”中执行(准确地说,在“C:\Python25\Lib\site-packages\twill\other_packages”中)而我的应用程序文件夹 - 我的脚本所在的文件夹(“my_script.py" 文件) - 位于 "E" 磁盘上。
有人可以在这里给我一些建议吗?
【问题讨论】:
标签: python google-app-engine deployment mechanize twill