フラッシュベースのサイトをスクラップする方法は?

c# flash html-agility-pack web-crawler web-scraping

質問

我々は、HTMLベースのサイトのデータをスクラップするために、 Html Agility Packを使用しています。フラッシュベースのサイトを掻き集めるためにHtml Agility PackのようなDLLはありますか?

人気のある回答

それは本当にスクラップしようとしているサイトに依存します。この点については、2種類のサイトがあります。

  • サイトにswfファイル内のデータがある場合は、swfファイルを逆コンパイルして内部のデータを読み取る必要があります。十分な作業で、おそらくプログラムでそれを行うことができます。しかし、これが当てはまる場合、手動でデータを収集するほうが簡単かもしれません。これは、おそらくそれほど変わることはないからです。

  • しかし、多くの場合、特にデータが多いサイトでは、実際にはFlashファイルが外部APIに接続しています。その場合、単にフラッシュを無視してAPIに直接アクセスすることができます。あなたが不明な場合は、Firebugのネットパネルを有効にしてブラウズを開始してください。外部APIを使用している場合は明らかになります。
    そのAPIを見つけたら、それを操作する方法をリバースエンジニアリングして、必要なデータを得ることができます。

十分な大きさのサイトであれば、同じデータを取得するための非フラッシュの方法がおそらく存在することにも注意してください。

  • iPhoneのユーザーエージェントでサイトにアクセスしようとすると、モバイルサイト(フラッシュなし)がある可能性があります。
  • クローラ用のサイト(googlebotなど)がある可能性があります。googlebotユーザーエージェントを使用してサイトにアクセスしてみてください。

編集:クロール(クロールとは、ランダムなサイトからデータを取得することを意味します)ではなく、特定のサイトから構造化されたデータを取得することです。その場合、Googlebotでさえフラッシュコンテンツをスクラップしません。主にHTMLとは異なり、フラッシュにはテキストが何であるか、リンクとは何かをすぐに伝えることができる標準化された構文がありません。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ