1

我正在尝试创建一个应用程序:

  1. 登录亚马逊卖家中心

  2. 打开其中包含的多个页面,检索呈现的页面源,包括由 javascript 填充的值

  3. 解析呈现页面源并为用户输出报告。(此部分已完成)

我已经能够通过使用 firefox 插件 firebug 查看呈现的页面源,将其复制到文件来手动完成此任务,并且我已经完成了解析器的编写。但是,我想使这个过程自动化,并使其尽可能用户友好,以便与可能不太精通技术的人分享。

我的困难在于使用 Python 完成第 1 步和第 2 步。我一直在搜索和阅读有关使用库 urllib、urllib2 和 cookielib 的信息,但我无法弄清楚如何让它正常工作。

例如,我在 stackoverflow 上找到了这个片段:

import urllib, urllib2, cookielib

username = "xxx"
password = "xxx"

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username':username,'j_password':password})
opener.open('https://sellercentral.amazon.com/gp/homepage.html', login_data)
resp = opener.open('https://sellercentral.amazon.com/myi/search      /ItemSummary.amzn?')
print resp.read()

现在,我知道我的 opener.open 是错误的,但我不知道在哪里可以找到我需要指出的亚马逊卖家中心登录脚本。

另外,我不确定我是否以正确的方式解决这个问题。非常感谢任何方向。

4

2 回答 2

0

请参阅Amazon Marketplace Web Services作为替代方案。他们似乎没有 Python 库,但有其他语言的客户端

于 2012-10-09T21:06:18.840 回答
0

看看这个

http://seleniumhq.org/

或这个

http://wwwsearch.sourceforge.net/mechanize/j

在浏览器环境中做你想做的事情可能会更容易一些。

br.select_form(name="order")
# Browser passes through unknown attributes (including methods)
# to the selected HTMLForm.
br["cheeses"] = ["mozzarella", "caerphilly"]  # (the method here is __setitem__)
# Submit current form.  Browser calls .close() on the current response on
# navigation, so this closes response1
response2 = br.submit()
于 2012-10-02T22:23:03.313 回答