【Python爬虫学习笔记13】使用Selenium模拟浏览器行为

在上一篇笔记《Ajax数据爬取简介》中我们提到,在爬取动态渲染页面的数据时(通常为Ajax),我们可以使用AJAX URL分析法和Selenium模拟浏览器行为两种方法,其中前者已经分析一般思维已叙述,在本节中我们主要介绍如何使用Selenium模拟浏览器行为来获取数据。

一、准备工作

在正式介绍使用之前,我们需要先安装selenium库,安装库的过程和之前一样,我们可以直接使用命令’pip install selenium’。安装完成后我们还需要配置好用于驱动浏览器行为的驱动器driver,每一个浏览器对应的driver都是不同的,具体可以参看下表:

Browser   Download URL  
Chrome   https://sites.google.com/a/chromium.org/chromedriver/downloads  
Edge   https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/  
Firefox   https://github.com/mozilla/geckodriver/releases  
Safari   https://webkit.org/blog/6900/webdriver-support-in-safari-10/  

下载完对应版本的XXXdriver.exe文件后,将其放入我们python安装路径的scripts目录下即可,以供全局使用。例如,以Chrome为例,我的chromedriver.exe便可放在’C:\Users\UnikFox\AppData\Local\Programs\Python\Python36\Scripts’。

此外,这里要留意的是,每个浏览器版本的driver也是不同的,在下载页可以看到各driver所支持的浏览器版本。

二、基本使用 1.启动浏览器并访问页面

模拟浏览器的启动只需要实例化selenium的webdriver模块中相应的对象即可,然后通过这个对象的get(url)方法便可请求URL映射的页面,之后我们就可以通过访问这一个对象的属性来获取相应的页面数据信息。这里我们仍以Chrome为例,运行后我们便可发现其自动地打开了一个Chrome浏览器,并在顶部显示“Chrome正受到自动测试软件地字样”,说明我们使用selenium成功地打开了浏览器,同时我们还会发现也已经进入了我们所请求的页面。

## 模拟启动浏览器 # 导入webdriver模块 from selenium import webdriver # 实例化webdriver对象 browser = webdriver.Chrome() # 请求页面 browser.get(\'https://www.baidu.com\') # 获取网页源代码 html_text = browser.page_source

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdgss.html