七、Selenium模拟浏览器

  • 前言
  • 一、Selenium的安装
  • 二、Selenium详情
  • 三、如何下载chromedriver
    • 1.找到你的浏览器版本。
    • 2找到指定网站进行下载
    • 3环境配置
    • 4验证
  • 四、 selenium使用实例
  • 感谢

前言

继续上一章网页抓取,这一章用来详细讲述Selenium模拟浏览器的使用


提示:以下案例仅供参考

一、Selenium的安装

和其它python库一样 用pip就行
打开cmd 输入

pip install selenium

二、Selenium详情

有时对于部分网站而言,我们仅用“检查”来审视网页也很难找到调用的网页地址。另外,有些数据真实地址的UPL十分冗长和复杂。有些网站为了反爬虫会对地址进行加密,造成其中的数据我们无法理解或者很难理解。
我们可以用浏览器渲染引擎。直接用浏览器在显示网页时解析HTML、应用CSS样式并执行Javascript语句。

这种方法的过程是在爬虫过程中打开一个浏览器加载该网页,自动操作浏览器浏览各个网页、顺便把数据抓下来。也就是说,通过浏览器渲染的方法把网页“化动为静”把动态网页爬成静态网页。

在python中我们使用Selenium库来模拟浏览器完成抓取。Selenium是一个用于Web应用测试的工具。Selenium测试直接运行在浏览器中,浏览器自动按照脚本代码做出单击、输入、打开、验证等操作,让其就像真正的用户一样。

Selenium的脚本可以控制浏览器进行操作,可以兼容多个浏览器,如:
IE(7、8、9、10、11)、Firefox、Safari、Google、Opera等。
笔者使用的是Chrome所以这里用谷歌浏览器做示范
示例:

from selenium import webdriverdriver=webdriver.Chrome()
driver.get('https://www.baidu.com/')

在这里运行代码后会报错selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.Please see https://sites.google.com/a/chromium.org/chromedriver/home

同时你的电脑防火墙可能会跳出提示,没关系 这是因为仅仅通过selenium是没办法直接使用的 还需要下载对应浏览器的driver
如上 我使用的是chrome浏览器 就需要我下载chromedriver

三、如何下载chromedriver

大致流程同样适用于下载Firefoxdriver、Safaridriver、Googledriver、Operadriver,等。

在此我以chrome为例

1.找到你的浏览器版本。

(如果你下载的chromedriver和你浏览器版本不同则无效)
在浏览器输入 chrome://version/


可以看到我的版本号是91.0.4472

2找到指定网站进行下载

读者可以直接点击bug后的网址进行下载
我的网络状况不好网址上不去,和我一样的读者可以在浏览器直接搜索
chromedriver
我在这直接贴上网址
chromedriver

我的版本是91.0.4472所以我下载91.0.4472.19

3环境配置

下载完毕后是个压缩包,先解压压缩包,找到 chromedriver.exe然后找到你chrome.exe安装的位置,把chromedriver.exe文件复制到这个位置下

(找不到位置的可以找到你谷歌浏览器图标,右键–》打开文件所在位置)

然后添加环境变量(此电脑–》右键–》属性-》高级系统设置)

点击环境变量
找到用户变量中的Path
把你刚刚放chromedriver 的文件路径添加进去

4验证

可以在cmd下输入chromedriver来验证是否安装成功

四、 selenium使用实例

准备工作完毕 直接上代码。
(示例打开百度)

from selenium import webdriverdriver=webdriver.Chrome(executable_path =r'C:\Users\23119\AppData\Local\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')

运行后会跳出如下界面(我网络太差了,本来刷新还会有热搜词条)


感谢

学习资料来源于网课博客书籍,再次由衷表达感谢。
你们的点赞和关注是我的不竭动力,

七、Selenium模拟浏览器相关推荐

  1. python 模拟浏览器selenium 微信_Spider-Python爬虫之使用Selenium模拟浏览器行为

    分析 他的代码比较简单,主要有以下的步骤:使用BeautifulSoup库,打开百度贴吧的首页地址,再解析得到id为new_list标签底下的img标签,最后将img标签的图片保存下来. header ...

  2. python模拟浏览器下载文件在哪里_python下selenium模拟浏览器基础操作

    1.安装及下载 selenium安装: pip install selenium  即可自动安装selenium geckodriver下载:https://github.com/mozilla/ge ...

  3. python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为

    前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...

  4. Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

    Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录. 首先我们需要安装selenium,通过pip安装: ``` pip ...

  5. 【python】实验2项目2:使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(陈奕迅)

    请使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(可以是任意歌手)最受欢迎的前5首歌曲的歌词.流派.歌曲发行时间.评论条数.评论时间.评论点赞次数.评论内容具体(每一首歌的评论& ...

  6. python 爬虫动态网页的区别_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取...

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  7. Selenium模拟浏览器访问

    目录 一.selenium简介 1.1.什么是selenium 1.2.为什么使用selenium 1.3.安装selenium 1.3.1.谷歌浏览器驱动下载 1.3.2.谷歌驱动和谷歌浏览器版本之 ...

  8. python 模拟浏览器selenium_从零开始写Python爬虫 --- 3.1 Selenium模拟浏览器

    本来说好要写Mechanize模拟浏览器的,结果一看居然只支持2.x版本的Python,而且已经长久没有更新维护了,本着学新不学旧的原则,我决定跳过他,直接开学Selenium(其实就是我懒,逃 Se ...

  9. 用selenium模拟浏览器登录淘宝识别滑动验证码

    用selenium模拟浏览器登录淘宝,使用账号密码的方式登录淘宝,但是在登录的时候遇到需要滑动验证,使用selenium模拟点击滑块,滑动验证码完成登录. 本文的代码现测可用.做个记录,方便以后查看. ...

最新文章

  1. 架构思维:系统容量设计
  2. 微信里如何判断页面被分享成功
  3. JAVA接口返回面积_java – 将接口的返回值限制为实现类的范围
  4. 201671010128 2017-11-05《Java程序设计》之集合
  5. 机器人运动学_不同D-H矩阵的对比
  6. 复数混频发射机原理与仿真
  7. 经典C语言程序100例之三
  8. DB2 常用命令小结
  9. noise函数的使用
  10. cdr非法软件 您的产品已被禁用怎么回事_多层刺网非法捕鱼 顺庆男子被取保候审...
  11. factorybean 代理类不能按照类型注入_彻底搞懂依赖注入(一)Bean实例创建过程
  12. iOS 使用FMDB进行数据库操作
  13. google人体浏览器+android,google人体浏览器
  14. Python就业方向都有什么?该如何选择?
  15. flutter 国际化(组件英文转中文)
  16. Python爬虫入门【6】:蜂鸟网图片爬取之一
  17. 如何分配资源和管理资源
  18. Android 高德地图marker位置刷新操作
  19. Bable的简单使用
  20. ESP32低功耗模式

热门文章

  1. 读--《谁动了我的奶酪》
  2. C++ continue 语句
  3. 通用对话框——FolderBrowserDialog
  4. VB.net学习笔记(六)VB.net的对象
  5. 【全局面包屑导航】依据路由动态生成面包屑导航
  6. 《趣弹幕-滚动LED显示屏-隐私协议》
  7. H264码流打包分析.整理
  8. 年薪40W毕业生大厂面试题合集,学完之后你不会拿不到offer
  9. Word利用Aurora插入伪代码
  10. CUDA之nvidia-smi命令详解