2012-04-21 3 views
1

Googleクロムエクステンションのウェブサイトのクローラを作成するにはどうすればよいですか? https://chrome.google.com/webstore/category/extensionsクローラがクロム拡張IDを取得する

私はクロムエクステンションに関する少しのセキュリティ研究を行っています。カテゴリごとにおよそ100の拡張機能があり、現在私が抱えている問題は、少なくともUIDを取得するためにクローラを作成することです。ウェブサイトはjavascriptによって更新されているようです。もし私がhtmlをつかまえれば、そのサイトは後の段階で残りのページをロードするように見えるので何も得られません。つまり、Pythonを使用してHTMLを取得した後、必要なコアコンテンツ(すべての拡張要素を含むDOM)がロードされているように見えます。何か案は?

答えて

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時間は4日前の日付に対応します)。現在のところ、Chromeのデベロッパーツールの[ネットワーク]タブを使用して現在のリクエストパラメータを確認できます。 categoryパラメータは、カテゴリの識別子です。Web Storeリンクのhttps://chrome.google.com/webstore/category/の後のURL部分です。

+0

お返事いただきありがとうございます! –

+0

@IvanThai:もしそれが助けられたら、答えを受け入れることを自由に感じてください:http://stackoverflow.com/faq#howtoask –

+0

@WladimirWell; +1この質問は確かに私の多くを助けるようだ!私は同じことに取り組んでいます。ただし、指定したURLのリクエストを送信すると、「エラーが発生しました」という応答が表示されます。私の要求に沿って別のものを送る必要がありますか?どんな助けもありがたい。 – TheRookierLearner

関連する問題