0

重複の可能性:
Perl を使用して Web コンテンツを動的に取得するにはどうすればよいですか?

Web ページで JavaScript を実行する方法を検討してきましたが、いくつかの解決策を完全には理解していません。

例として TechCrunch を使用します。TechCrunch の記事をチェックアウトすると、各ページの上部に、そのページに対して行われたツイート、いいね、コメントの数を示すビジュアルが表示されます。このページをスクレイピングしてその情報を収集したい場合、perl でこれを解決する方法はありますか?

私は WWW::Scripter と WWW::Mechanize::Plugin::JavaScript を見てきました。おそらくそれは、何が提供されているかを完全に理解していないためです。しかし、ブラウザのように、URL を渡してページ上で JavaScript を実行させる方法はありますか?

4

1 に答える 1

0

これを行うのは非常に困難です。基本的に、必要なページをロードして実行し、ページがロードされたことを検出するフル機能のブラウザ エンジンを Perl で実行する必要があります。そのブラウザ エンジンにアクセスして、DOM にアクセスする必要があります (おそらくjavascript) を使用して、そのページから値を読み取ります。必要なデータがページ HTML に存在せず、javascript を介してページに挿入されるため、これは複雑です。

より実用的な解決策としては、ページ自体がデータを取得するリバース エンジニアリングを行い、サーバー上の perl から独自の Web 呼び出しを作成して、ページがデータを取得するのと同じ場所からデータを取得する方法があります。

どちらの場合でも、文書化された公開 API を使用していない場合、ホストがデータの取得方法を変更すると、メソッドがいつでも壊れる可能性があります。

于 2012-10-15T16:19:39.577 に答える