selenium-初探学习(1)

一、selenium背景介绍

1)静态页面数据

以前爬取数据的网站,大多数都是静态页面。这些数据都是在网页的源代码当中,直接向目标url发起请求,获取响应数据,然后解析数据就可以完成。但是还有一些网站的数据不在网页的源代码当中, 这些数据有可能是通过ajax加载出来的这样的网站中的数据,我们称之为动态网页。

拓展:什么是ajax?可以使网页实现异步更新的技术 ,可以在不重新加载网页的前提下,对网页的部分内容进行更新。前端的技术 (前端的语音 Js)。

2)如果要爬取动态网页的数据呢?

1) 直接分析它真正的数据接口要找到数据对应的url(地址)

优势:代码比较容易编写

劣势:有的时候不太好分析,找到真正的url。

2) 通过selenium来模拟浏览器从而获取想要的数据

优势:不需要分析数据接口,直接通过selenium去获取数据(不论动态还是静态网页,前端页面最终渲染的结果为准,就可以通过selenium爬取)。

劣势:代码量比较大,编写起来比较麻烦,相对于来说慢一些。

3)以上两种方式,那种好用用哪种,灵活运用。

二、selenium概述

1)什么是selenium?

selenium是一个web的自动化测试工具,可以用在所有的主流浏览器上

2)selenium的特点?

1-可以根据指令操作浏览器;

2-selenium只是一个工具,必须和第三方的浏览器相结合使用;

3)selenium的使用方法

第一步 安装

pip install selenium

如果不确定你当前的项目是虚拟环境还是全局环境,你就直接在pycharm中进行安装(终端)

pip install selenium -i https://pypi.douban.com/simple 换源的安装方式

第二步 使用(selenium支持多种浏览器)

from selenium import webdriver

driver = webdriver.Chrome()  # 谷歌浏览器

driver  = webdriver.Firefox()  # 火狐浏览器

driver = webdriver.Edge()  #  IE 浏览器

driver  = webdriver.PhantomJS()   # 无可视化界面的浏览器(无头浏览器)

注:以上浏览器需下载配置对应浏览器的驱动。

4) selenium + chrome + chromedriver (chrome浏览器举例)的使用

1)安装一个谷歌浏览器(chrome) 去对应的应用市场下载即可

2) 安装chromedriver    http://chromedriver.storage.googleapis.com/index.html

注意:chromedriver需和安装的chrome浏览器的版本保持一致,否则无效。

5)拓展:

面向对象 记住以后编程的方式全部都要使用面向对象

面向对象它是一个编程思想,然后由面向过程延伸出来的。

你可能感兴趣的:(selenium-初探学习(1))