python抓取javascript动态生成HTML内容的实践

本文介绍如何在Ubuntu14.04上使用Python和selenium抓取JavaScript动态生成的网页内容。通过selenium操控火狐浏览器加载页面,等待JavaScript执行完毕后获取完整的HTML源码。
摘要由CSDN通过智能技术生成

本实验在Ubuntu14.04上完成。使用的浏览器是火狐(Firefox 33.0),python版本是2.7.6。

大家都知道用urllib配合正则表达式抓取静态HTML的内容很方便,但是如果网页中有javascript动态生成的内容,urllib就无能为力了。

此时我们要借助一个额外的工具:selenium。它的工作原理是操纵(火狐)浏览器浏览目标网页,等待网页中的javascript全部执行完毕后再对HTML源码进行操作。整个过程就好像是人工操作浏览器转到目标网址查看源代码一样。

从selenium的官网下载selenium-server-standalone-2.44.0.jar。为了大家方便我已经传到了网盘上。下载后设置一下文件的权限:

$ chmod 664 selenium-server-standalone-2.44.0.jar

然后,安装python的selenium工具包:

$ pip install -U selenium

准备工作就绪了,下面开始测试一下这套系统。首先运行起selenium的server:

$ sudo java -jar selenium-server-standalone-2.44.0.jar 

注意,整个命令会在输出了几行信息后就不动了。这不是卡死,而是server已经做好准备,等待python脚本的调用。所以这个窗口就不要动了。

开个新窗口执行python脚本:

$ python skk.py

skk.py的内容如下:


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值