Как очистить сайт, основанный на flash?

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

Вопрос

Мы используем Html Agility Pack для очистки данных для сайта на основе HTML; есть ли DLL, например, Html Agility Pack, чтобы очистить сайт на основе flash?

Популярные ответы

Это действительно зависит от сайта, который вы пытаетесь отменить. В этом отношении есть два типа сайтов:

  • Если на сайте есть данные внутри swf-файла, вам придется декомпилировать swf-файл и прочитать данные внутри. с достаточной работой вы можете сделать это программно. Однако, если это так, может быть проще просто собрать данные вручную, так как это, вероятно, не сильно изменится.

  • Если в большинстве случаев, особенно на сайтах с большим количеством данных, флеш-файл фактически связывается с внешним API. В этом случае вы можете просто полностью игнорировать флеш-память и напрямую обращаться к API. Если вы не уверены, просто активируйте сетевую панель Firebug и начните просмотр. Если он использует внешний api, он должен стать очевидным.
    Как только вы обнаружите этот API, вы, вероятно, можете перестроить процесс манипулирования им, чтобы предоставить вам все необходимые данные.

Также обратите внимание, что если это достаточно большой сайт, возможно, есть не-флеш-способы доступа к тем же данным:

  • У него может быть мобильный сайт (без вспышки) - попробуйте получить доступ к сайту с помощью пользовательского агента iPhone.
  • У него может быть сайт для сканеров (например, googlebot) - попробуйте получить доступ к сайту с помощью пользовательского агента googlebot.

EDIT: если вы говорите об обходе (обход означает получение данных из любого случайного сайта), а затем очистку (получение структурированных данных с определенного сайта), то вы не можете много сделать, даже googlebot не сломает флэш-контент. В основном потому, что в отличие от HTML, flash не имеет стандартизованного синтаксиса, который вы можете сразу сказать, что такое текст, что такое ссылка и т. Д.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow