使用Python刮擦javascript生成的数据

tri*_*ger 8 javascript python screen-scraping web-scraping

我想用Python抓取一些关于url的数据. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340

这是关于公司信息的摘要.

我要刮的东西没有显示在第一页上.通过单击名为"재무제표"的选项卡,您可以访问财务报表.点击名为"현금흐름표"的标签,即可访问"现金流量".

我想刮掉"现金流"数据.

但是,现金流量数据是通过网址上的javascript生成的.以下链接是隐藏的网址,http://stock.kisline.com/compinfo/financial/main.action?vhead = N &vfoot = N&vstay =&omit =&vwidth =

通过向此网址提交一些选项值和Cookie来生成现金流量数据.

如您所知,第一个链接中的itemcode = 078340意味着股票代码,我想要收集多达1680种股票的现金流量数据.我想让它成为一个循环结构.

是否有很好的方法来刮取现金流量数据?我试过scrapy但scrapy很难处理我已经使用的另一个刮擦代码.

Nik*_* B. 9

还有dryscape(由我编写的库,因此建议有点偏颇,显然:)使用基于Webkit的快速内存浏览器来浏览.它也理解Javascript,但比Selenium轻得多.


Mik*_*maa 1

如果您需要对使用 AJAX 更新的页面内容进行 scape,并且您不受此 AJAX 界面的控制,我将使用 Selenium 浏览器自动化程序来完成该任务:

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

  • Selenium 具有 Python 绑定

  • 它启动一个真实的浏览器实例,因此它可以执行和抓取 100% 与您亲眼所见相同的事情

  • 通过 Selenium API AJAX 更新后获取 HTML 文档内容

  • 使用lxml + xpath / CSS选择器从文档中解析出相关部分