Come raschiare un sito basato su flash?

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

Domanda

Utilizziamo Html Agility Pack per analizzare i dati per il sito basato su HTML; c'è qualche DLL come Html Agility Pack per raschiare un sito basato su Flash?

Risposta popolare

Dipende davvero dal sito che stai cercando di eliminare. Ci sono due tipi di siti in questo senso:

  • Se il sito ha i dati all'interno del file swf, dovrai decompilare il file swf e leggere i dati all'interno. con abbastanza lavoro probabilmente puoi farlo a livello di programmazione. Tuttavia, se questo è il caso, potrebbe essere più semplice raccogliere i dati manualmente, poiché probabilmente non cambierà molto.

  • Se la maggior parte dei casi, tuttavia, specialmente con siti che hanno molti dati, il file flash sta effettivamente contattando un'API esterna. In tal caso, puoi semplicemente ignorare del tutto il flash e accedere direttamente all'API. Se non sei sicuro, attiva il pannello di rete di Firebug e inizia a navigare. Se sta usando una api esterna dovrebbe diventare ovvio.
    Una volta trovata questa API, potresti probabilmente decodificare come manipolarla per darti i dati che ti servono.

Nota inoltre che se si tratta di un sito abbastanza grande, ci sono probabilmente modi non flash per ottenere gli stessi dati:

  • Potrebbe avere un sito mobile (senza flash) - prova ad accedere al sito con un agente utente di iPhone.
  • Potrebbe avere un sito per crawler (come googlebot) - prova ad accedere al sito con un utente-agente googlebot.

EDIT: se stai parlando di crawling (crawling significa ottenere dati da qualsiasi sito casuale) piuttosto che raschiare (Ottenere dati strutturati da un sito specifico), allora non c'è molto che puoi fare, anche googlebot non sta demolendo il contenuto flash. Principalmente perché a differenza dell'HTML, Flash non ha una sintassi standardizzata che puoi dire immediatamente cos'è il testo, cos'è un link ecc ...




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché