使用Selenium模拟浏览器行为

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

一、准备工作

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

 

下载完对应版本的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成功地打开了浏览器,同时我们还会发现也已经进入了我们所请求的页面。

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Selenium库来模拟浏览器行为,你需要先安装Selenium库,并下载相应的浏览器驱动程序。以下是使用Selenium模拟浏览器行为的基本步骤: 1. 安装Selenium库:使用pip命令安装Selenium库。 ``` pip install selenium ``` 2. 下载浏览器驱动程序:根据你使用浏览器类型和版本,下载相应的浏览器驱动程序。常见的浏览器驱动程序有ChromeDriver(用于Chrome浏览器)、GeckoDriver(用于Firefox浏览器)等。 3. 配置驱动程序路径:将下载的浏览器驱动程序解压,并将其路径添加到系统的环境变量中,或者在代码中指定驱动程序的路径。 4. 编写使用Selenium的代码:导入Selenium库,并创建一个浏览器对象。通过浏览器对象,你可以进行各种操作,如打开网页、查找元素、模拟点击等。 以下是一个示例代码,使用Selenium模拟打开豆瓣时光网页,并获取文章内容和作者名字: ``` from selenium import webdriver # 创建浏览器对象 driver = webdriver.Chrome() # 使用Chrome浏览器,需要下载对应的ChromeDriver url = 'https://m.douban.com/time/column/213/?dt_time_source=douban-web_anonymous' driver.get(url) # 打开网页 # 获取文章内容和作者名字 result = driver.find_elements_by_xpath('//div[@class="i+xqa"]/p[@class="K2fUh"]') name = driver.find_elements_by_xpath('//div[@class="i+xqa"]/span[@class="0e60A"]') # 打印结果 for r, n in zip(result, name): print(r.text, '-', n.text) # 关闭浏览器 driver.quit() ``` 这段代码使用Chrome浏览器驱动程序,打开豆瓣时光网页,并通过xpath定位获取文章内容和作者名字。最后,通过循环遍历将结果打印输出。 请注意,使用Selenium模拟浏览器行为可能会较慢,因为它会启动一个真实的浏览器来执行操作。此外,你还可以通过模拟点击、滚动等操作来获取更多的页面内容。具体的操作方法和使用方式,请参考Selenium的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值