我一直在尝试通过我的登录和密码 Python 脚本到 eBay 登录页面。后来我希望此脚本从Google App引擎"

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


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斜纹 - 直到 一个支持者建议 我下载了最新版本的 机械化 然后执行以下步骤:

  1. 在我的计算机上找到以下文件夹:”c: python25 lib site-packages twill ether_packages _mechanize_dist"

  2. 将其名称更改为“_mechanize_dist_backup“(因此,全路应该是”C: python25 lib site-packages twill other_packages _mechanize_dist_backup")

  3. 复制“机械化“文件夹(位于”Mechanize-0.2.2“ - 我从中下载和解开的文件夹 “机械化”官方网站)并将其粘贴在c: python25 lib site-packages twill ether_packages“(完整的道路,因此,”c: python25 lib site-packages twill ether_packages Mechanagize")

  4. 将其名称更改为“_mechanize_dist“(完整的道路是”c: python25 lib site-packages twill elet_packages_mechanize_dist")

  5. 复制 ”客户端“文件”_mechanize_dist_backup“粘贴在里面”_mechanize_dist“(实际上,我发现了两个名称的文件”客户端“:一个是一个python文件,另一个是一个编译的python文件 - 我复制并粘贴了两个文件)。

执行所有这些步骤后,我试图登录到我的 eBay 来自 斜纹 外壳 Python 它起作用了!!!我什至可以登录我的 雅虎 邮箱以相同的方式检查我的邮件!

但是现在我有一个困境:我不知道如何将脚本部署到”Google App引擎".

较早 我被告知 如果我想在 应用引擎 项目,我只需要在部署时将它们包括在我的应用程序时 - 以防万一 斜纹, ,例如,我只需要复制 斜纹 文件夹到我的应用程序文件夹中并部署它。

但是现在我不仅有这个 斜纹 文件夹作为第三方库,但也将所有这些更改在C: Python25“ (在 ”c: python25 lib site-packages twill ether_packages“,确切地说),而我的应用程序文件夹 - 我拥有脚本的文件夹(”my_script.py“文件) - 位于”e“磁盘。

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

有帮助吗?

解决方案

至于GAE部署问题, @brilliant看起来像您要处理的代码都是纯Python 2.5(唯一真正阻止的问题是如果是 不是 - 不允许二进制扩展,不需要python 2.6或更高的代码,这就是此时的盖帽。

因此,在此假设下,与App Engine上的代码部署的唯一问题是所有代码, 不是site-packages (当然是GAE的 dev_appserver.py 绝对没有部署,nada,zilch),而是在您的GAE项目目录中(我建议所有.py文件的递归zip,尤其是在您之前删除所有.pyc文件 zip -r 它;-)。

总而言之,这只是一个适当的外壳命令的问题: cp -R 然后 zip -r (可能更难在非异形外壳上,但是,嘿,即使在Windows上 能够 用Cygwin的狂欢来做到这一点...无论如何,这不是一个“开发”问题本身;-)。

其他提示

错误消息表明机械化正在为您遵守该站点的robots.txt文件。

如果您想自动访问其网站,则应使用eBay的API。如果您不这样做,并构建自己的解决方案忽略了robots.txt,当他们阻止您时,请不要感到惊讶,并向Google投诉有关来自您应用程序的App Engine的自动查询。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top