上文说到,我们可以通过分析Ajax访问服务器的方式来获取Ajax数据。Ajax也算动态渲染页面的一种。所以,动态页面也是可以爬取滴。
Selenium
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。简而言之,Selenium可以模拟用户操作浏览器,所以它也可以提取动态页面。
安装Selenium
cmd下输入:
pip install selenium
同时下载浏览器对应版本的驱动。
Chrome:
点击下载
Firefox:
点击下载
IE:
点击下载
下载后解压到python安装目录的scripts下。
Selenium基本使用方法
声明浏览器对象
Selenium支持许多的浏览器,我们首先需要让系统知道你使用的是什么浏览器,我们可以用以下方式初始化:
from selenium import webdriver
browser = webdriver.Chrome()
browser = webdriver.Firefox()
browse