Python が Selenium または PhantomJS を使用して動的 Web コンテンツをクロールする方法
黄舟
黄舟 2017-05-18 11:01:14
0
3
970

Python を使用して株式の定量取引を行う場合、最初のステップは株式の履歴データを取得することです。 http://data.eastmoney.com/sto... Web ページにアクセスします。Web ページのソース コードを開くと、テーブル内のデータが表示されません。これは、ajax テクノロジーを使用して読み込まれていると言われています。 Selenium と phantomJS を使用してこれらの動的 Web コンテンツを取得できることをインターネットで見ましたが、完全なソース コードを取得する方法がわかりません。アドバイスをお願いします

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(3)
我想大声告诉你

実際、私はそれを試してみました。ページは xhr を使用してロードされておらず、データをテーブルにロードするためにクラスが呼び出されました。
たとえば、ホームページのデータ:

次に、テキストを取得した後、直接再抽出を使用して、それを json で解析します。
まずここに書いてください。
++++++++++++++++++++++++++++++++++++++++

そして、このウェブサイトはデータのロードに xhr を使用せず、js を使用して json データをロードし、それを動的に解析して表示します。具体的な解析にはjsの知識が必要となりますので、理解できれば自分で解析してみることも可能です。

試してみました。

リーリー

いいねを押す +0
给我你的怀抱

この組み合わせを使用する利点は、シンプルで暴力的であることですが、欠点は効率が低いことです。
これは、表示できないブラウザの読み込みページを開いて、計算結果を読み取ることと同じです。
爬虫類の学習が初めての方には、Python Network Data Collection という動物の本をお勧めします。
必要な手順は、動的ページの収集に関する章に記載されています。
この本はとても薄くてとても実用的です。

いいねを押す +0
巴扎黑

js や json についてはあまり詳しくなく、クロールを始めたばかりです。プロンプトの後、ソースコードを再度確認したところ、defjson にこのデータがあることがわかりました。json のデータを tbody に表示する方法がわかりません。 pandas の read_html を使用してこのデータをキャプチャできますが、最後の 2 つの列は失われます。まずはjsとjsonを見ないといけないようです

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート