Python の基本入門 (12): Selenium の動的 Web ページと静的 Web ページの予備調査

Selenium はデータを収集します

Selenium は、Web アプリケーションをテストするためのツールです。Selenium テストは、実際のユーザーと同じようにブラウザーで直接実行されます。サポートされているブラウザには、IE (7、8、9、10、11)、Mozilla Chrome、Safari、Google
Chrome、Opera などが含まれます。

動的 Web ページと静的 Web ページ

静的 Web ページは、サーバー ファイル システムに保存されている実際の HTML ファイルを参照します。ユーザーがブラウザにページの URL を入力して
Enter キーを押すと、ブラウザは対応する HTML ファイルをダウンロードしてレンダリングし、ウィンドウに表示します。初期の Web サイトは通常、静的なページで構成されていました。

1. 動的な Web ページ

動的 Web ページは静的 Web ページに対して相対的なものです。ブラウザがサーバーにページをリクエストすると、サーバーは現在時刻、環境パラメーター、データベース操作などに従って HTML ページを動的に生成し、ブラウザに送信します (その後の処理は静的 Web ページと同じです)。

明らかに、動的 Web ページの「動的」はサーバー側ページの動的生成を指します。反対に、「静的」はページが実際の独立したファイルであることを意味します。

知らせ:

  • 動的ページ技術は静的ページ技術に対応しています。つまり、Web ページ URL のサフィックスは、 の
    ような静的 Web ページの一般的な形式ではありません。
  • ここで説明する動的 Web ページは、Web ページ上のさまざまなアニメーションやスクロールする字幕などの視覚的な「動的効果」とは直接関係しません。動的 Web ページは、純粋なテキスト コンテンツであることも、さまざまなアニメーション コンテンツを含むこともできます。これらは、Web ページの特定のコンテンツの表現にすぎません。

1.1 JavaScript

JavaScript はネットワークに属するスクリプト言語であり、Web アプリケーションの開発で広く使用されており、Web ページにさまざまな動的機能を追加し、ユーザーによりスムーズで美しいブラウジング効果を提供するためによく使用されます。通常、lavaScriptスクリプトはHTMLに埋め込むことで独自の機能を実現します。

これは、Web ページのソース コードのタグで確認できます。次に例を示します。

<script type="text/javascript"
src="https://statics . huxiu. com/w/mi ni/static_ 2015/js/sea. js?v=201601150944">
</script>

JavaScript では HTML コンテンツを動的に作成できますが、このコンテンツは JavaScript コードの実行後にのみ生成および表示されます。従来の方法を使用してページ コンテンツを収集する場合は、JavaScript コードが実行される前にのみページ上のコンテンツを取得できます。

JQuery
JQuery は、高速かつ簡潔な JavaScript フレームワークであり、一般的な関数コードを JavaScript でカプセル化し、シンプルな JavaScript 設計モードを提供し、HTML ドキュメント操作、イベント処理、アニメーション設計、および Ajax インタラクションを最適化します。-JQuery を使用した Web サイトの特徴は、ソース コードに次のような JQuery エントリが含まれていることです。

<script type="text/javascript"
src="https://stati CS . huxiu. com/w/mini/static_ 2015/js/jquery-1.11.1.min.js?
v=201512181512"></script>

Web サイトのページのソース コードに jQuery が含まれている場合は、この Web サイトからデータを収集するときに特に注意する必要があります。jQuery は HTML コンテンツを動的に作成できるため、コンテンツは JavaScript コードの実行後にのみ生成および表示されます。従来の方法を使用してページ コンテンツを収集する場合、JavaScript コードを実行する前にのみページ上のコンテンツを取得できます。

1.2 アヤックス

Ajax 技術を使用して Web ページのコンテンツを更新する Web サイトは、Web ページ全体を再読み込みすることなく、Web ページの特定の部分を更新できるという優れた機能を備えています。

Ajax は実際には言語ではなく、ネットワーク タスクを完了するために使用される一連のテクノロジです (ネットワーク データ収集に似ていると考えることができます)。Ajax Web サイトは、ページ全体の読み込みを使用せずに Web サーバーと対話できます。

1.3 DHTML

DHTML: ダイナミック HTML ダイナミック HTML、この技術は新しい技術ではありませんが、
以前に学習した HTML、CSS、JavaScript を統合し、S を使用してページ要素を操作して要素を動的に変化させることで、ページとユーザーがインタラクティブな動作を実現します。

2. 動的Webページ処理方式

動的に読み込まれる Web サイトを使用して、Python で問題を解決するにはいくつかの方法があります。

  1. JavaScript コードで収集されたコンテンツを直接クラックします。
  2. パケットキャプチャ解析、スクリーンショットのリクエストレスポンス情報の閲覧、リクエストの偽造、レスポンス取得を実現します。(お勧め)
  3. Python のサードパーティ ライブラリを使用して JavaScript を実行し、ブラウザに表示されるページを直接キャプチャします。(お勧め)

ブラウザはデータを取得できるので、ブラウザをシミュレートしてブラウザからデータを取得することができます。それは、データ収集の目的を達成するために、プログラムを使用してブラウザを制御することです。

おすすめ

転載: blog.csdn.net/Dangerous_li/article/details/127578497