python获取js渲染后的源码_Python使用PAMIE获取JS渲染后的HTML源码 - 米扑博客

前因

现在的网页越来越动态和漂亮,大量地用到了Javascript,包括但是不限于Ajax,这样一来直接查看网页源代码的话的,获取到的并不是真正的渲染完成后的页面。这对采集来说,是一个很大的挑战。

在火车头当中,对于Ajax获取的数据的话,可以手动分析页面提取的Ajax的处理url,然后来提取。但是对于复杂的session验证(特别是.NET的网站来说)处理比较困难。

另外一方面,对于javascript生成的页面,火车头也没法直接提取。

思路

首先明确的是必须获取Javascript渲染结束后的结果。这一点是明确的,具体就是方法就因人而异。

而自己解决Javascript渲染无异于痴人说梦,所以必须借助现有的浏览器核心,比如Gecko、WebKit、IE。如果用Java开发的话可以Jrec这个库,它封装了Gecko。如果其他的语言,且在Windows平台上的话,最简单的就是用—— COM,用Internet Explorer 提供的com组件。

解决方案

突破了这层关系,下面的就水到渠成了。

在python下,对IE封装的比较完善而且文档齐全的就是PAMIE(http://sourceforge.net/projects/pamie),它的本意是作为自动化测试工具使用的。

需要注意的是,在页面加载完之后需要留出一定时间来让页面的js代码执行渲染完成后再提取html代码,这个时间需要通过试验确定。

PAMIE 示例

PAMIE是一套为Python写的用于Web自动化测试的工具,采用Win32COM的方式操作IE来实现。

Pamie是个很好的操作IE的模

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值