抓取器获取chrome扩展ID

时间:2012-04-21 01:08:49

标签: javascript google-chrome web-crawler

我如何为Google Chrome扩展程序网站编写抓取工具? https://chrome.google.com/webstore/category/extensions

我正在对Chrome扩展进行一些安全研究。每个类别大约有100个扩展,我现在遇到的问题是编写一个爬虫来至少抓住UID。该网站似乎通过javascript更新。如果我要抓取html,我什么也得不到,因为该网站似乎在稍后阶段加载了页面的其余部分。换句话说,我需要的核心内容(即带有所有扩展元素的DOM)似乎在我使用python抓取HTML后加载。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

是的,网页不包含数据 - 它是单独下载的。使用类似这样的URL:

  

https://chrome.google.com/webstore/ajax/item?pv=1389738107&count=100&category=app/7-productivity

请注意,这必须是POST请求(没有任何POST数据),出于安全原因,其他请求将被拒绝。您必须删除文件开头的")]}'"和其他各个地方的"[]\n" - 然后您应该获得可以通过json.loads解析的正确JSON。数据结构不是很好,但应该足以进行抓取。

请注意,pv参数看起来可能很快就会更改(此Unix时间对应于四天前的日期),您可以使用Chrome开发者工具的“网络”标签查看当前请求参数。 category参数是类别的标识符 - 它是Web Store链接中https://chrome.google.com/webstore/category/之后的URL部分。