【问题标题】:How do I get the IDs of Chrome extensions programatically from the Chrome Web Store?如何以编程方式从 Chrome 网上应用店获取 Chrome 扩展程序的 ID?
【发布时间】:2014-02-08 08:54:12
【问题描述】:

我的问题有点类似于this question,因为我正在尝试以编程方式下载 Chrome 扩展程序。我最初的想法与链接的问题相同,我正在考虑编写一个用于爬行的程序(使用 Scrapy)。但是,我注意到页面是动态的,爬虫只下载 HTML 框架,并且浏览器向https://chrome.google.com/webstore/ajax/item 发出请求以下载用于扩展的 JSON(其中还包含扩展 ID)。因此,我尝试使用 Python 的 Requests 库创建一个 POST 请求。我尝试使用浏览器发送的值(有效负载和 cookie)发出请求(如下):

>>>url = "https://chrome.google.com/webstore/ajax/item"
>>>cookies = dict(NID='67=R4qURXDfck7w88_e3h9K7nlH3p5P0DVYSsv6H48ItU4ySyEteOzBmCJeOeyIGpufjsPq8nXq3g6X9spvFtUnBi41nFFkL9hKCOkGNNya6YkdfMrbP6gbTcCxwL2SXlyq', __utma='73091649.1313886221.1389991622.1390001718.1390050575.3', __utmb='73091649.17.9.1390051810097', __utmc='73091649', __utmz='73091649.1389991622.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)')
>>>payload = {'hl': 'en-US', 'gl': 'US', 'pv': '138978106', 'mce': 'c3d,ncr,ctm,ac,hot,emc,apl,grt,spa,spb,shr','count': '0','token': '151@461735', 'category': 'extensions', 'sortBy': '0', 'container': 'CHROME', '_reqid': '5129379','rt': 'j'}
>>>r = requests.post(url, params=payload, cookies=cookies)

但是,当我收到发送此请求时,我会收到响应:

>>> r.text
u')]}\'\n\n[[["er",,,,["xhrerrorresponse",1]\n,400,"xhrerrorresponse",,,9]\n,["e",2,,,102]\n]]'

我不知道是什么导致了这个 XMLHttpRequest 错误。谁能告诉我如何解决这个问题?或者以其他方式下载 Chrome 扩展程序的 ID?

【问题讨论】:

    标签: python ajax google-chrome google-chrome-extension python-requests


    【解决方案1】:

    抱歉,Chrome 网上应用店没有公开 API 来执行您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 2014-08-25
      • 1970-01-01
      • 2012-04-30
      • 2015-04-06
      相关资源
      最近更新 更多