我的问题有点类似于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?
发布于 2014-01-25 02:43:20
很抱歉,Chrome Web Store不会公开API来执行您所请求的操作。
https://stackoverflow.com/questions/21212793
复制相似问题