2匹の爬虫類の経験を記述する前に、基本的にはページのJS使用して、動的レンダリング(のような一般的なHTMLページがシーンを抽出し、カバーし、時には、ターゲットページは純粋に静的なページがない場合は、しかし、一つの悪い爬虫類前に、)そう、この時、それは達成するために、いくつかの他のツールを使用します。
一般的なクロール動的ページの考え方は、レンダリング後のページの画像にソフトウェアシミュレーションブラウザの動作を介して取得することであり、そのページの解析をレンダリングした後、一般的なツールは、度を維持するためのプロジェクトを通じてようにセレン、phantomJs、人形遣いとを含み、コントラストのPHPの親しみやすさは、私は人形遣いを使用しています。
公式の報告によると、2017年Googleは、独自のChromeブラウザのヘッドレス特性を開発するために、人形遣いがこの時点で生まれて、その原理はChromeでは、ブラウザのオープンインタフェースパッケージ、利便性と通信するためにクロームデベロッパーツールのインタフェースを呼び出すことによって開かれていますユーザー・コールは、ブラウザの動作を容易に実現することができますシミュレートします。
インストールして実際には非常に簡単です、人形遣いをお試しください:
1 |
NPM私は人形遣い |
example.jsテストを記述する公式APIによると:
1 |
非同期 機能() { CONSTブラウザ=を待つ)(puppeteer.launchします。constのページ=を待つ browser.newPage(); 待つ page.gotoは('http://wufazhuce.com'); リターン page.content(); }。 |
HTMLページのレンダリングが完了した後に実行ノードexample.jsは、コンソール出力を見ることができるようになり、この時間は、標準出力プロセスの次のステップに到達読みのfopen PHPのHTMLテキストを使用することができます。
関連サポート上記のgithubのを見つけ、我々が見つかりました。browsershot / spatieを使用すると、人形遣いが動的に生成されたHTMLコンテンツを取得するために使用して、クロールするコンテンツを取得するには、DOM-クローラーを使用し続けることができるようにステップに直接良いパッケージをプロジェクトに:
1 |
$この - >クローラー= 新しいクローラ(); |
オリジナル:ビッグボックス PHP爬虫類体験(3) -ページのコンテンツのPHP +人形遣いクロールjsの動的なレンダリングを使用