質問: 我々は、HTMLベースのサイトのデータをスクラップするために、 *Html Agility Pack*を使用しています。フラッシュベースのサイトを掻き集めるために*Html Agility Packの*ようなDLLはありますか?
回答: それは本当にスクラップしようとしているサイトに依存します。この点については、2種類のサイトがあります。 * サイトにswfファイル内のデータがある場合は、swfファイルを逆コンパイルして内部のデータを読み取る必要があります。十分な作業で、おそらくプログラムでそれを行うことができます。しかし、これが当てはまる場合、手動でデータを収集するほうが簡単かもしれません。これは、おそらくそれほど変わることはないからです。 * しかし、多くの場合、特にデータが多いサイトでは、実際にはFlashファイルが外部APIに接続しています。その場合、単にフラッシュを無視してAPIに直接アクセスすることができます。あなたが不明な場合は、Firebugのネットパネルを有効にしてブラウズを開始してください。外部APIを使用している場合は明らかになります。 そのAPIを見つけたら、それを操作する方法をリバースエンジニアリングして、必要なデータを得ることができます。 十分な大きさのサイトであれば、同じデータを取得するための非フラッシュの方法がおそらく存在することにも注意してください。 * iPhoneのユーザーエージェントでサイトにアクセスしようとすると、モバイルサイト(フラッシュなし)がある可能性があります。 * クローラ用のサイト(googlebotなど)がある可能性があります。googlebotユーザーエージェントを使用してサイトにアクセスしてみてください。 編集:クロール(クロールとは、ランダムなサイトからデータを取得することを意味します)ではなく、特定のサイトから構造化されたデータを取得することです。その場合、Googlebotでさえフラッシュコンテンツをスクラップしません。主にHTMLとは異なり、フラッシュにはテキストが何であるか、リンクとは何かをすぐに伝えることができる標準化された構文がありません。