Permalänk
Medlem

Manipulera renderad DOM

Det finns en sajt på nätet med avancerad javascript som renderar viss data som jag skulle vilja få tag på.

Mina alternativ är

1) Reverse-engineera javascripten, vilket jag helst inte gör. Det kommer ta LÅNG tid, är känsligt för förändringar och allmänt känns det som ett mindre bra alternativ.

2) Manipulera DOMen när det väl blivit renderad. Dvs, använda mig av något sorts bibliotek som kan emulera en webbbrowser som renderar sidan i minnet, och sedan tillåter mig att manipulera de enskilda elementen på sidan. Detta känns som det mest tidseffektiva och långsiktiga alternativet.

Rent spontant känns det som att det borde finnas något sådant bibliotek.

Jag har bäst koll på PHP och gör det helst i PHP alltihop (som CLI-program dvs), men även en del koll på Python. Har ni några förslag på hur jag skulle kunna gå till väga? Vad har ni för bra tips på bibliotek etc?

Permalänk
Medlem

Vad bygger manipuleringen på? Borde finnas tre alternativ: Slump, AJAX-anrop eller back-end-data.

Det du försöker göra är alltså en crawl-bot som kan interagera med JS på webbsidan? Det närmsta jag känner till är Snoopy, som faktiskt råkar vara PHP:
Snoopy | Download Snoopy software for free at SourceForge.net
Vet dock inte om den klarar JS... tror inte det.

Permalänk
Medlem

Vad menar du med back-end data?

Slump är det definitivt inte - det är en seriös applikation. Det är bara det att jag helst inte vill dyka in i det. Det är mycket möjligt att det finns säkerhetssystem som jag inte är medveten om som kommer göra jobbet smärtsamt långsamt. Mha en emulator skulle jag kringgå det.

Snoopy förenklar möjligen arbetet, men samtidigt kvarstår problemet med Javascriptet.

Permalänk
Medlem
Skrivet av SSHWIN:

Vad menar du med back-end data?

Hur hämtar applikationen sin data? Ta reda på det, och använd samma metod när du skrapar data. Det är det enklaste sättet.