免責使用しているWebページスクレイピング:私はちょうど私が何の悪意がfirebaseデータベース
を持っていない、実行して勉強し、私はこのウェブサイトに記載されているアプリケーションのリストを取得したいと思います: http://roaringapps.com/apps
私は過去にも同様のことをやったことがありますが、より単純なウェブサイトでは、今回は、このWebページの背後にあるデータを手に入れることに問題があります。
ページ間のスクロールが速いので、ウェブページの仕組みを理解するために、パケットスニッファを起動してトラフィックを分析しました。ブラウザで2500レコードをスクロールしても、最初の読み込み後にサーバーとクライアントの間でトラフィックが交換されないことに気付きました。そんなことがあるものか?
とにかく。私の理解は、ウェブサイトが何らかの種類のストリームからデータをロードし、Javascript経由でレンダリングしていることです。私は正しいですか?
私はchromium devtoolsを起動して "ネットワーク"タブを見て、次のアドレスにWebSocketリクエストが行われていることを確認しました:wss://s-usc1c-nss-123.firebaseio.comこの時点で
、ビットをグーグル後、私はデベロッパーツールのウィンドウで見た「V = 5つの& NS =のroaringapps」クエリを使用して、非常に同じサーバーを照会しようとしました:
from websocket import create_connection
ws = create_connection('wss://s-usc1c-nss-123.firebaseio.com')
ws.send('v=5&ns=roaringapps')
print json.loads(ws.recv())
この返信を受けました:
{u't': u'c', u'd': {u't': u'h', u'd': {u'h': u's-usc1c-nss-123.firebaseio.com', u's': u'JUL5t1nC2SXfGaIjwecB6G13j1OsmMVv', u'ts': 1476799051047L, u'v': u'5'}}}
&というアプリケーションに関する生データを使ってjson応答が表示されることが予想されました。私は間違っているの?
ありがとうございます!
UPDATE
は実は、私はちょうどウェブサイトは、そのデータをロードするためにJSONを使用してであることが分かりました。私はおそらくキャッシュのために反復要求でそれを見ていませんでした - しかし、クロムでそれを無効にすることがトリックでした。
おかげでフランクを、今私は少なくとも持っています私が混乱していたものの手がかり:) 私はドキュメントを見て、それは私には全く新しいものです。 – Delta