selenium+phantomjs

来源:互联网 发布:textrcnn tensorflow 编辑:程序博客网 时间:2024/05/20 14:43

简介

一直以来我们在使用Python的urllib2、httplib等通信框架来抓取网页,但是涉及到JavaScript渲染的页面却不能抓取,所以采用Web自动化测试工具Selenium,无界面浏览器PhantomJS来抓取JavaScript渲染的页面,带我们熟悉使用后,爬虫技能将大大提升。
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Chrome等。
Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。
Selenium支持多种语言开发,比如 Java,Python, C,Ruby等
首先安装 Python 的 Selenium 库,再安装好 PhantomJS,就可以实现 Python+Selenium+PhantomJS 的无缝对接了嘛!PhantomJS 用来渲染解析JS,Selenium 用来驱动PhantomJS以及与 Python 的对接,Python 进行网页后期的处理,完美的三剑客!

win7 64位软件环境:

  1. 安装Python 2.7
  2. 安装Python setuptool
  3. 安装Ptyhon pip

安装Selenium

切换到Python安装目录下Script目录下执行命令:pip install -U selenium
这里写图片描述

安装PhantomJS

下载链接:PhantomJS下载 解压即可
这里写图片描述

Selenium+PhantomJS示例

使用方法很简单,代码如下,如果成功打印出网页的源码,那么说明已经可以成功使用了。

from selenium import webdriverdriver = webdriver.PhantomJS(r'D:\WorkSoft\phantomjs\phantomjs-2.1.1-windows\bin\phantomjs')driver.get('http://wenshu.court.gov.cn/list/list/')data = driver.page_sourceprint datadriver.quit()
0 0