Domanda

Vorrei recuperare la fonte di un sito web, che è generato dinamicamente su cliccando su un link. Il collegamento stesso è il seguente:

<a onclick="function(); return false" href="#">Link</a>

Questo mi impedisce di interrogare direttamente un URL che mi permettesse di ottenere il sito web generato dinamicamente (urllib / 2).

Come sarebbe uno recuperare la fonte del sito, che è stato generato con la funzione di cui sopra (in HTML) tramite Python? Esiste un metodo per bypassare il return false" href="#"? O il onclick del tutto, e ottenere l'URL reale?

Se c'è un altro modo per generare il sito dal link astratto sopra, così che si può ottenere da urllib in python, per favore fare riferimento ad esso.


Modifica

I generalizzato il codice visto sopra - però mi è stato detto che si deve decodificare il javascript specifica per essere in grado di usarlo

.

Link a .js - http://a.quizlet.com/j/ inglese / create_setku80j8.js

Link al sito con il link:

<a onclick="importText(); return false" href="#">Bulk-import data</a>

URL reale del sito: http://quizlet.com/create_set/

Abbellire e JS di .js rilevanti di cui sopra: http://pastie.org/737042

È stato utile?

Soluzione

Non vedo immediatamente qualsiasi contenuto-generazione o collegamento seguente codice in quello script; tutti importText fa è di scegliere se qualche div sono mostrati.

Se si vuole studiare le chiamate webapp fa a fare una determinata azione, al fine di riprodurli da un bot, siete probabilmente meglio fuori guardando le richieste HTTP (l'invio di moduli e chiamate AJAX) che il browser fa durante lo svolgimento di tale azione. È possibile utilizzare il pannello ‘Net’ di Firebug per studiare questo per Firefox, o Fiddler per IE.

Altri suggerimenti

Si dovrà probabilmente per il reverse engineering del JavaScript per capire cosa sta succedendo.

Potete fornire il sito e il collegamento in questione?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top