简介
一直以来我们在使用Python的urllib2、httplib等通信框架来抓取网页,但是涉及到JavaScript渲染的页面却不能抓取,所以采用Web自动化测试工具Selenium,无界面浏览器PhantomJS来抓取JavaScript渲染的页面,带我们熟悉使用后,爬虫技能将大大提升。
- Selenium是一个用于Web应用程序测试的工具。
- Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
- Selenium支持的浏览器包括IE、Mozilla Firefox、Chrome等。
- Selenium支持多种语言开发,比如 Java,Python, C,Ruby等。
# - Phantom JS是一个服务器端的 JavaScript API 的 WebKit。
- 其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。
#
首先安装 Python 的 Selenium 库,再安装好 PhantomJS,就可以实现 Python+Selenium+PhantomJS 的无缝对接了嘛!PhantomJS 用来渲染解析JS,Selenium 用来驱动PhantomJS以及与 Python 的对接,Python 进行网页后期的处理,完美的三剑客!
Win7 64位软件环境:
- 安装Python 2.7
- 安装Python setuptool
- 安装Ptyhon pip
- 安装Selenium
# - 安装PhantomJS,切换到Python安装目录下Script目录下执行命令:pip install -U selenium
- 安装PhantomJS,下载解压即可
Selenium+PhantomJS示例
使用方法很简单,代码如下,如果成功打印出网页的源码,那么说明已经可以成功使用了。
from selenium import webdriver
#
driver = webdriver.PhantomJS()
driver.get('http://wenshu.court.gov.cn/list/list/')
data = driver.page_source
print data
driver.quit()