python 爬虫进阶 selenium 安装

selenium简介

什么是selenium

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法执行javaScript代码的问题。

selenium的用途

  (1)、selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用浏览器自动访问目标站点并操作,那我们也可以拿它来做爬虫。

  (2)、selenium本质上是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等...进而拿到网页渲染之后的结果,可支持多种浏览器

selenium优缺点

 (1)优点

    优点就是可以帮我们避开一系列复杂的通信流程,例如在我们之前学习的requests模块,那么requests模块在模拟请求的时候是不是需要把素有的通信流程都分析完成后才能通过请求,然后返回响应。假如目标站点有一系列复杂的通信流程,例如的登录时的滑动验证等...那么你使用requests模块的时候是不是就特别麻烦了。不过你也不需要担心,因为网站的反爬策略越高,那么用户的体验效果就越差,所以网站都需要在用户的淫威之下降低安全策略。

    再看一点requests请求库能不能执行js?是不是不能呀!那么如果你的网站需要发送ajax请求,异步获取数据渲染到页面上,是不是就需要使用js发送请求了。那浏览器的特点是什么?是不是可以直接访问目标站点,然后获取对方的数据,从而渲染到页面上。那这些就是使用selenium的好处!

  (2)缺点

    使用selenium本质上是驱动浏览器对目标站点发送请求,那浏览器在访问目标站点的时候,是不是都需要把静态资源都加载完毕。html、css、js这些文件是不是都要等待它加载完成。是不是速度特别慢。那用它的坏处就是效率极低!所以我们一般用它来做登录验证。

selenium的安装

安装selenium模块:

清华源安装:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium

chrome浏览器驱动安装

1.先查看自己的浏览器版本

2.驱动下载网站

https://chromedriver.storage.googleapis.com/index.html
https://npm.taobao.org/mirrors/chromedriver/ 

3.下载自己版本的驱动进行安装

mac系统 解压缩后添加到/usr/local/bin 目录下
windows 参考这个文章https://blog.51cto.com/u_15669955/5351487

测试代码

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')
data = browser.page_source
# browser.quit()  # 退出模拟浏览器
print(data)
添加新评论