2012-04-21 91 views
1

如何爲Google Chrome擴展程序網站撰寫抓取工具? https://chrome.google.com/webstore/category/extensions抓取工具抓取Chrome擴展程序ID

我正在做一些關於chrome擴展的安全研究。每個類別大約有100個擴展,我現在遇到的問題是編寫一個爬蟲至少抓取UID。該網站似乎通過JavaScript更新。如果我要抓取HTML,我什麼也得不到,因爲該站點似乎在稍後階段加載頁面的其餘部分。換句話說,我需要的核心內容(即帶有所有擴展元素的DOM)似乎在我使用python獲取HTML之後加載。有任何想法嗎?

回答

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參數是類別的標識符 - 它是網絡應用商店鏈接中的https://chrome.google.com/webstore/category/之後的URL部分。

+0

非常感謝您的回答! – 2013-03-20 23:56:51

+0

@IvanThai:如果有幫助,請隨時接受以下答案:http://stackoverflow.com/faq#howtoask – 2013-03-29 08:02:46

+0

@WladimirWell; +1這個問題當然似乎對我有很大幫助!我正在做同樣的事情。但是,當我爲給定的URL發出請求時,我收到一條迴應,說「發生了錯誤」。我需要根據我的要求發送其他內容嗎?任何幫助讚賞。 – TheRookierLearner 2014-01-18 14:53:13