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()

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

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

    Python3 爬虫学习笔记第九章 -- [数据储存系列 - 文件储存] 文章目录 [9.1]TXT 文本存储 [9.1.1]基本示例 [9.1.2]打开方式 [9.2]JSON 文件存储 [9.2. ...

  2. Python3 爬虫学习笔记 C04 【自动化测试工具 Selenium】

    Python3 爬虫学习笔记第四章 -- [自动化测试工具 Selenium] 文章目录 [4.1]下载驱动 [4.2]声明浏览器对象 [4.3]访问页面 [4.4]启动参数 [4.5]查找节点 [4 ...

  3. Python3 爬虫学习笔记 C17【爬虫框架 pyspider — 基本使用】

    Python3 爬虫学习笔记第十七章 -- [爬虫框架 pyspider - 基本使用] 文章目录 [17.1]初识 pyspider [17.2]使用 pyspider [17.2.1]主界面 [1 ...

  4. Python3 爬虫学习笔记 C15【代理的基本使用】

    Python3 爬虫学习笔记第十五章 -- [代理的基本使用] 文章目录 [15.1]代理初识 [15.2]urllib 库使用代理 [15.3]requests 库使用代理 [15.4]Seleni ...

  5. Python3 爬虫学习笔记 C14【验证码对抗系列 — 点触验证码】

    Python3 爬虫学习笔记第十四章 -- [验证码对抗系列 - 点触验证码] 文章目录 [14.1]关于点触验证码 [14.2]点触验证码攻克思路 [14.3]模拟登录 12306 - 总体思路 [ ...

  6. Python3 爬虫学习笔记 C13【验证码对抗系列 — 滑动验证码】

    Python3 爬虫学习笔记第十三章 -- [验证码对抗系列 - 滑动验证码] 文章目录 [13.1]关于滑动验证码 [13.2]滑动验证码攻克思路 [13.3]模拟登录 bilibili - 总体思 ...

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

    Python3 爬虫学习笔记第八章 -- [解析库 Beautiful Soup] 文章目录 [8.1]关于 Beautiful Soup [8.2]Beautiful Soup 的基本使用 [8.3 ...

  8. Python3 爬虫学习笔记 C18【爬虫框架 pyspider — 深入理解】

    Python3 爬虫学习笔记第十八章 -- [爬虫框架 pyspider - 深入理解] 文章目录 [18.1]启动参数 [18.2]运行单个组件 [18.2.1]运行 Scheduler [18.2 ...

  9. Python3 爬虫学习笔记 C16【数据储存系列 — Redis】

    Python3 爬虫学习笔记第十六章 -- [数据储存系列 - Redis] 文章目录 [16.1]关于 Redis [16.2]使用 Redis [16.3]Key(键)操作 [16.4]Strin ...

最新文章

  1. 汇编语言求无符号数组中出现的次数最多数_【今日最佳leecode通俗易懂】无重复字符的最长子串...
  2. python招聘笔试题_滴滴2020年春招笔试题分析(Python)
  3. 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
  4. Android之jni编译出现error: jump to label ‘XXXX’ [-fpermissive]解决办法
  5. Spring Cloud应用监控与管理Actuator
  6. Linux 文件区块连续吗,关于Linux文件系统的的简单理解和认识
  7. atomikos   log already in use
  8. pythonscrapy爬虫安装_零基础写python爬虫之爬虫框架Scrapy安装配置
  9. maxcompute操作_MaxCompute问答整理之9月
  10. 机器学习基础算法29-EM实践
  11. html页面js跨域获取json数据,JS跨域获得Json的应用
  12. iOS---Xcode中删除描述文件Provisioning Profiles
  13. 设置虚拟机dns服务器域名,域名服务器DNS的设置实验
  14. 笔记本计算机的功率一般多少,笔记本电脑功率是多少 怎么看笔记本功率多大...
  15. 算法竞赛入门经典 UVa815 Flooded!
  16. amd64的镜像兼容amd和intel的cpu
  17. 解决网页无法选中文字,无法复制的问题
  18. 怎么提高计算机用户权限,在USER用户下提升自已的权限
  19. python字符串索引
  20. ubuntu 网速测试方法

热门文章

  1. druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)
  2. codechef Polo the Penguin and the Tree
  3. sql server2005索引
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第23篇]写一个实现蒙哥马利算法的C程序
  5. 树状数组的区间修改+查询
  6. 文件的输入和输出:流和缓冲区的概念和文件操作函数总结
  7. oracle dblink 验证,Oracle DBLINK 简单使用
  8. 打架程序_学生打架不知道怎么处理?一般程序了解下,对你或许有帮助
  9. 利用一维数组求菲波那契数列前40项的和并输出结果。_[W2D2]斐波那契数列
  10. git连接jenkins_开普勒云平台:如何配置gitlab与Jenkins