Python3 爬虫学习笔记 C05 【Selenium + 无界面浏览器】


Python3 爬虫学习笔记第五章 —— 【Selenium + 无界面浏览器】

文章目录

  • 【5.1】关于无界面浏览器
  • 【5.2】PhantomJS
  • 【5.3】Headless Chrome
  • 【5.4】Headless Firefox


【5.1】关于无界面浏览器

无界面(headless)浏览器,会把网站加载到内存并执行页面上的 JavaScript,因为不会展示图形界面,所以运行起来比完整的浏览器更高效。Selenium 搭配无界面浏览器使用,被称为爬虫利器,常用的无界面浏览器有:PhantomJS、Headless Chrome、Headless Firefox,其中,18年3月,PhantomJS 的作者在 GitHub 上宣布暂停开发 PhantomJS,现在使用 PhantomJS 会出现警告:UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead,所以推荐使用谷歌或者火狐的无界面浏览器

【5.2】PhantomJS

下载 PhantomJS:https://phantomjs.org/download.html
path 为 PhantomJS 路径,如果系统配置了环境变量,就不用手动指定 executable_path 参数

from selenium import webdriverpath = r'F:\PycharmProjects\Python3爬虫\phantomjs-2.1.1\bin\phantomjs.exe'
driver = webdriver.PhantomJS(executable_path=path)
driver.get("https://www.itrhx.com")
print(driver.page_source)
driver.close()

【5.3】Headless Chrome

下载 Chromedriver:http://chromedriver.storage.googleapis.com/index.html
需要本地有 Chrome 浏览器,path 为 Headless Chrome 路径,如果系统配置了环境变量,就不用手动指定 executable_path 参数

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
path = 'F:\PycharmProjects\Python3爬虫\chromedriver.exe'
driver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)
driver.get("https://www.itrhx.com")
print(driver.page_source)
driver.close()

【5.4】Headless Firefox

下载 geckodriver:https://github.com/mozilla/geckodriver/releases/
需要本地有 Firefox 浏览器,path 为 Headless Firefox 路径,如果系统配置了环境变量,就不用手动指定 executable_path 参数

from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Optionsoptions = Options()
options.add_argument('-headless')
path = 'F:\PycharmProjects\Python3爬虫\geckodriver.exe'
driver = Firefox(executable_path=path, firefox_options=options)
driver.get("https://www.itrhx.com")
print(driver.page_source)
driver.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3 爬虫学习笔记 C06 【正则表达式】

Python3 爬虫学习笔记第六章 —— 【正则表达式】文章目录【6.1】关于正则表达式【6.2】re.match() 方法【6.2.1】提取内容【6.2.2】通用匹配【6.2.3】贪婪匹配【6.2.4】非贪婪匹配【6.2.5】转义匹配【6.2.6】修饰符【6.3】re.search() 方法【6.4】re.findall() 方法【6.5】re.…

Sharepoint学习笔记—Site Definition系列-- 3、创建ListDefinition

创建一个List Definition有多条途径,这里由于我们要基于前面的用户自定义Content Type来创建一个List Defintion,所以我们就需要使用到List Definition From Content Type模板。 这里先大致描述如何创建List Definition,然后重点介绍一下Li…

Python3 爬虫学习笔记 C07 【解析库 lxml】

Python3 爬虫学习笔记第七章 —— 【解析库 lxml】文章目录【7.1】关于 lxml【7.2】使用 XPath【7.3】查找所有节点【7.4】查找子节点【7.5】查找父节点【7.6】属性匹配【7.7】文本获取【7.8】属性获取【7.9】一个属性包含多个值的匹配【7.10】多个属性匹配一个节点【7.11】按顺…

Sharepoint学习笔记—error处理-- The user does not exist or is not unique.

看到网上不少人遇到过这种类似的错误,而产生这种错误的原因也有多种,我产生此错误的背景是在试图通过ECMAscript对象模型把一个User添加到某个指定的Group中时遇到的。 问题1.当我试图把一个User添加到Sharepoint的某个指定的Group,…

Python3 爬虫学习笔记 C08【解析库 Beautiful Soup】

Python3 爬虫学习笔记第八章 —— 【解析库 Beautiful Soup】文章目录【8.1】关于 Beautiful Soup【8.2】Beautiful Soup 的基本使用【8.3】节点选择器【8.3.1】元素选择【8.3.2】提取信息【8.3.3】嵌套选择【8.3.4】关联选择【8.4】方法选择器【8.4.1】find_all() 方法【8.4.2…

Sharepoint学习笔记—Ribbon系列

为便于查阅,这里整理并列出了我的Sharepoint学习笔记中涉及Ribbon开发的关文章,有些内容可能会在以后更新。 Sharepoint学习笔记—Ribbon系列-- 1. Ribbon的架构 Sharepoint学习笔记—Ribbon系列-- 2. 在Ribbon中添加新Tab Sharepoint学习笔记—Ribbo…

Python3 爬虫学习笔记 C09【数据储存系列 — 文件储存】

Python3 爬虫学习笔记第九章 —— 【数据储存系列 — 文件储存】文章目录【9.1】TXT 文本存储【9.1.1】基本示例【9.1.2】打开方式【9.2】JSON 文件存储【9.2.1】对象和数组【9.2.2】读取 JSON【9.2.3】写入 JSON 文件【9.3】CSV 文本存储【9.3.1】写入【9.3.2】读取用解析器解…

Knockout学习笔记之二($root,$parent及$data的区别)

以下是我从Google上找到的一个例子,非常生动形象,我修改了部分代码,具体内容如下: 对于$root 与$parent的区别: $root refers to the view model applied to the DOM with ko.applyBindings;译:$root 是指…

GitHub 学生认证,申请 GitHub 学生包

GitHub 面对学生推出了学生认证服务,通过认证后就可以得到学生包,学生包大概有十几项优惠,包括 DATADOG Pro 帐户、免费两年的10台服务器,Icons8 3个月的带图标,照片,插图和音乐订阅服务、JETBRAINS 专业桌…

Sharepoint学习笔记—架构系列

为便于查阅,这里整理并列出了我的Sharepoint学习笔记中涉及架构方面的有关文章,有些内容可能会在以后更新。 Sharepoin学习笔记—架构系列-- Sharepoint的网页(Page),网页解析(Parsing)与解析安全处理(Security) Sharepoin学习笔记 —架构…

Python3 使用 pymysql 连接 MySQL 建表时出现 Warning3719 UTF8 警告

在学习 Python3 爬虫关系型数据库储存时,利用 pymysql 连接 MySQL 建表,测试用的代码如下,第一句 SQL 用于获取当前 MySQL 的版本信息,第二句 SQL 执行创建 spiders 数据库的操作,如果程序代码正确,将会输出…

Sharepoin学习笔记—架构系列--01 Sharepoint的网页(Page),网页解析(Parsing)与解析安全处理(Security)

Microsoft SharePoint Foundation 中主要有两种类型的页面,分别是应用程序页(Application Page) 和网站页(Site Page)。 应用程序页(Application Page) 和网站页(Site Page)都从同一母版页继承其布局。 应用程序页(Application Page)与传统的 Microsoft ASP.NET 3.5…

完美解决 bash: hexo: command not found

背景介绍:有好几天没动过 Hexo 博客了,今天准备更新的时候输入 hexo s,报错 bash: hexo: command not found,这是啥情况?以前都好好的,想了一下,大概是这几天折腾各种 Python 库的原因&#xff…

Sharepoin学习笔记 —架构系列--02 Sharepoint的处理(Process)与执行模型(Trust Model) 1

Sharepoint210有四种执行模型: 1、完全信任执行模型(Full Trust) 2、Bin/CAS 执行模型 (1与2都属于场解决方案) 3、沙盒执行模型(Sand Box) 4、 混合执行方法(Hybrid Approach) Sharepoint最简单的处理模型就是一个完整的Asp.net应…

Python3 爬虫学习笔记 C10【数据储存系列 — MySQL】

Python3 爬虫学习笔记第十章 —— 【数据储存系列 — MySQL】文章目录【10.1】MySQL 基本操作语句数据库操作表操作表的结构表的数据【10.2】Python 连接 MySQL【10.3】创建表【10.4】插入数据【10.5】更新数据【10.6】删除数据【10.7】查询数据【10.8】实战训练 — 爬取CSDN博…

Sharepoin学习笔记—架构系列--03 Sharepoint的处理(Process)与执行模型(Trust Model) 2

上文我们了解了一个外部Http Request进入IIS 工作进程(W3WP)的处理与执行信任模型,这个阶段是Sharepoint的四种执行模型都必须经过的处理阶段,其中Sharepoint场解决方案与任何 ASP.NET 应用程序一样就是在 IIS 工作进程(w3wp)中运行的,所以上…

Python3 爬虫学习笔记 C11【数据储存系列 — MongoDB】

Python3 爬虫学习笔记第十一章 —— 【数据储存系列 — MongoDB】文章目录【11.1】关于 MongoDB【11.2】MongoDB 基本操作语句【11.3】连接 MongoDB【11.4】指定数据库【11.5】指定集合【11.6】插入数据【11.6】数据查询【11.7】数据计数【11.8】数据排序【11.9】数据偏移【11.…

Sharepoin学习笔记—架构系列--04 Sharepoint的四种执行模型 1

Sharepoint210有四种执行模型 1、完全信任执行模型(Full Trust) 2、Bin/CAS 执行模型 (1与2都属于场解决方案) 3、沙盒执行模型(Sand Box) 4、 混合执行方法 (Hybrid Approach) 下面分别来看看它们是怎么回事 一、场解决方案 场解决方案是在 Share…

Python3 爬虫学习笔记 C12【验证码对抗系列 — 图形验证码】

Python3 爬虫学习笔记第十二章 —— 【验证码对抗系列 — 图形验证码】文章目录【12.1】关于普通图形验证码【12.2】tesserocr 库识别验证码【12.3】pytesseract 库识别验证码【12.4】验证码处理【12.5】tesserocr 与 pytesserocr 相关资料【12.1】关于普通图形验证码 普通图形…

Sharepoin学习笔记—架构系列--05 Sharepoint的四种执行模型 2

上一篇我们看了场解决方案与沙盒方案两种执行模型,其中场解决方案包括有完全信任方式与Bin/CAS方式两种,这里让我们继续来看看最后一个执行模型,即混合模型(或混合模式)。 三、混合模式(hybrid approaches) 所谓混合模…