如何从Chrome网络商店以编程方式获取Chrome扩展的id?

2024-04-27 04:59:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

>>>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)

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

^{pr2}$

我不知道是什么导致了这个XMLHttpRequest错误。有人能告诉我怎么解决这个问题吗?或者以其他方式下载Chrome扩展的id?在


Tags: https程序comurlgoogle方式浏览器ajax