8

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

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

我要抓取的内容未显示在第一页上。通过单击名为“재무제표”的选项卡,您可以访问财务报表。然后点击名为“현금흐름표”的选项卡,您可以访问“现金流”。

我想抓取“现金流”数据。

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

现金流数据是通过向该 url 提交一些选项值和 cookie 生成的。

如您所见,第一个链接中的 itemcode=078340 表示股票代码,我想收集多达 1680 只股票的现金流数据。我想让它成为一个循环结构。

有没有好的方法来抓取现金流数据?我试过scrapy,但scrapy很难应付我已经在使用的另一个抓取代码。

4

2 回答 2

9

还有dryscape(我写的一个库,所以推荐有点偏颇,很明显:)它使用基于Webkit的快速内存浏览器来导航。它也理解 Javascript,但比 Selenium 轻得多。

于 2012-04-07T10:20:31.827 回答
1

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

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

  • Selenium 具有 Python 绑定

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

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

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

于 2012-04-07T10:16:25.690 回答