2012-04-07 9 views
8

Quiero borrar algunos datos de la siguiente URL usando Python. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340Raspado de datos generados mediante JavaScript usando Python

Se trata de un resumen de la información de la empresa.

Lo que quiero raspar no se muestra en la primera página. Al hacer clic en la pestaña llamada "재무 제표", puede acceder al estado financiero. Y la pestaña llamada clic en "현금 흐름표', se puede acceder a "Cash Flow".

quiero raspar los "Flujo de fondos".

Sin embargo, los datos de flujo de efectivo es generado por el javascript, a través de la URL. el siguiente enlace es que el URL que está oculto, http://stock.kisline.com/compinfo/financial/main.action?vhead=N&vfoot=N&vstay=&omit=&vwidth=

datos de flujo de caja se genera mediante la presentación de algún valor de opción y de la galleta a esta URL.

Como se percibe, itemcode = 078.340 en el primer link significa el código de valores y hay tantas como 1680 acciones que quiero recopilar datos de flujo de efectivo. hormiga lo convierte en una estructura de bucle.

¿Hay una buena manera de raspar los datos de flujo de efectivo? Probé el tratamiento con scrapy pero es difícil lidiar con mi otro código de rascado que ya estoy usando.

+0

¿Los datos son extraídos por ajax del servidor o se almacenan en html de alguna manera (como dentro de la variable JS o en 'data-')? – Tadeck

+1

¿Los términos de servicio le permiten hacer eso? – luke14free

+0

Tadeck, los datos se extraen del servidor. – trigger

Respuesta

1

Si necesita escapar el contenido de la página que se actualiza con AJAX y no está en el control de esta interfaz AJAX me gustaría utilizar selenio navegador automator para la tarea:

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

  • Selenium tiene enlaces de Python

  • Se inicia una instancia de navegador real para que pueda hacer y raspar 100% lo mismo que se ve con sus propios ojos

  • Obtener HTML contenido del documento después de las actualizaciones AJAX thru selenio API

  • selectores Uso lxml + XPath/CSS para analizar las partes pertinentes de cada documento

+0

Muchas gracias. Voy a probar el selenio. – trigger

+0

¿puedo sustituir jquery con esta parte lxml + xpath al final (y seguir el resto de los pasos)? – abbood

+0

Selenium viene con su propio motor selector de CSS (que probablemente usa el navegador subyacente), por lo que ya no necesita ni jQuery ni lxml –

9

También hay dryscape (una biblioteca escrita por Yo, por lo que la recomendación es un poco parcial, obviamente :) que utiliza un navegador en memoria basado en Webkit rápido para navegar. También entiende Javascript, pero es mucho más liviano que el Selenio.

+0

Muchas gracias. Lo intentaré – trigger

Cuestiones relacionadas