2012-04-07 12 views
8

Voglio analizzare alcuni dati del seguente url usando Python. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340Scraping dei dati generati da javascript usando Python

Si tratta di un riepilogo delle informazioni aziendali.

Quello che voglio raschiare non è mostrato nella prima pagina. Facendo clic sulla scheda denominata "재무 제표", è possibile accedere al rendiconto finanziario. E scheda denominata cliccando su "현금 흐름표', è possibile accedere a "Cash Flow".

voglio raschiare i "dati di Cash Flow".

Tuttavia, i dati Il flusso di cassa è generato da javascript attraverso l'url. il seguente link è che url che è nascosto, http://stock.kisline.com/compinfo/financial/main.action?vhead=N&vfoot=N&vstay=&omit=&vwidth=

dati il ​​flusso di cassa è generato da presentando un certo valore di opzione e biscotto a questo URL.

Come percepito, itemcode = 078.340 nel primo anello significa codice di magazzino e ci sono ben 1680 titoli che voglio raccogliere i dati del flusso di cassa Formiche ne fanno una struttura ad anello.

C'è un buon modo per analizzare i dati del flusso di cassa? Ho provato un po 'di sporco ma è difficile farcela con il mio altro codice che già sto usando.

+0

I dati vengono estratti da ajax dal server o sono memorizzati in html in qualche modo (come all'interno della variabile JS o in 'data-')? – Tadeck

+1

I termini di servizio ti consentono di farlo? – luke14free

+0

Tadeck, i dati vengono estratti dal server. – trigger

risposta

1

Se è necessario scape contenuto della pagina che viene aggiornata con AJAX e non siete nel controllo di questa interfaccia AJAX userei selenio del browser Automator per l'attività:

http://code.google.com/p/selenium/

  • il selenio ha binding Python

  • e lancia una vera e propria istanza del browser in modo che possa fare e raschiare il 100% la stessa cosa, come si vede con i propri occhi

  • Get HTML contenuto del documento dopo gli aggiornamenti AJAX thru Selenio API

  • selettori Usa lxml + XPath/CSS per analizzare le parti rilevanti fuori del documento

+0

Grazie mille. Proverò il selenio. – trigger

+0

posso sostituire jquery con questa parte lxml + xpath alla fine (e seguire il resto dei passaggi)? – abbood

+0

Selenium viene fornito con un proprio motore di selezione CSS (che probabilmente utilizza il browser sottostante), quindi non è più necessario nè jQuery nè lxml –

9

C'è anche dryscape (una biblioteca scritto da io, quindi la raccomandazione è un po 'di parte, ovviamente :) che usa un veloce browser in-memory basato su Webkit per navigare. Comprende anche Javascript, ma è molto più leggero del selenio.

+0

Grazie mille. Lo proverò – trigger

Problemi correlati