Python爬虫——Selenium安装配置FireFox浏览器
Selenium安装配置FireFox浏览器
- 前置需求:
- 1. 下载安装FireFox浏览器和Geckodriver
- 1.1 Windows下载
- 1.2 Linux下载
- 2. 使用Selenium调用FireFox浏览器
- 2.1 创建webdriver的FireFox对象
- 2.2 爬取网页url
- 2.3 完整代码
- 参考文献
前置需求:
- Selenium介绍和Selenium WebDriver安装
1. 下载安装FireFox浏览器和Geckodriver
如果本地已经有FireFox此步骤可以省略
注意:Geckodriver是必下载项,如果项目中没有geckodriver会提示 no geckodriver
1.1 Windows下载
- 1.1.1 进入FireFox官网直接下载最新版本FireFox
- FireFox官网
- FireFox官网
- 1.1.2 直接运行安装包安装浏览器即可
- 1.1.3 FireFox的默认安装路径在C盘的programs file/Mozilla FireFox文件夹中,复制路径,后面会用到
- 1.1.4 查看FireFox版本并下载对应版本的geckodriver
- github geckodriver
- github geckodriver
1.2 Linux下载
Linux的FireFox直接是可执行二进制文件,所以可以直接在服务器上解压运行。
- 1.2.1 Linux直接通过指令下载(
这里下载的是FireFox 73.0.1如果想要下载最新版本,可以去官网自行下载
FireFox官网)
wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/73.0.1/linux-x86_64/zh-CN/firefox-73.0.1.tar.bz2
- 1.2.2 下载后解压即可使用
mkdir ~/FireFox
!tar -xjvf firefox-73.0.1.tar.bz2 -C ~/FireFox
- 下载对应的geckodriver版本。(
firefox版本为73对应geckodriver版本为0.26
)
wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
如果是自行下载的firefox版本,请自行到GitHub中查找对应的geckodriver下载
- github geckodriver
- 解压geckodriver到项目的根目录,即调用selenium的python文件的同级目录。
tar -zxvf /geckodriver-v0.26.0-linux64.tar.gz -C [你的路径]
2. 使用Selenium调用FireFox浏览器
2.1 创建webdriver的FireFox对象
- 如果没装selenium请先安装
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
- 导入selenium模块
from selenium import webdriver
from selenium.common import exceptions # selenium异常模块
- 设置无页面启动浏览器
如果想要显示firefox页面,这两句可以注释掉
# selenium对firefox的支持组件操作由webdriver中的FirefoxOptions实现
# 如果时Chrome浏览器则使用webdriver.ChromeOptions()
# edge没有option!!
options = webdriver.FirefoxOptions()
options.add_argument('--headless')
- 创建webdriver的firefox对象
executable_path和firefox_binary都必须是绝对路径!!!
browser_driver = webdriver.Firefox(executable_path=r"geckodriver执行文件的绝对路径", # 这里必须要是绝对路径# windows是.exe文件 xxx/xxx/geckodriver.exe, xxx/xxx/firefox.exe# linux直接是xxx/xxx/geckodriver, xxx/xxx/firefoxfirefox_binary=r"firefox执行文件的绝对路径",options=options)
这里通过阅读Firfox源代码可以看出,如果将geckodriver放在项目根目录中,则可以不用填写executable_path,并且在执行webdriver的时候selenium会自动在项目更目录中创建geckodriver.log,如果是已经将firefox写入系统环境变量的话firefox_binary可以不用填写。
2.2 爬取网页url
- 调用get方法,返回html页面内容
url = r'https://www.baidu.com/
browser_driver.get(url)
print ('当前爬取的网页url为:{0}'.format(browser_driver.current_url))
print ('当前爬取网页内容为:\n {0}'.format(browser_driver.page_source))
千万记得一定要退出!!!
browser_driver.quit()
2.3 完整代码
from selenium import webdriver
from selenium.common import exceptions # selenium异常模块
def browser_crawler(url):options = webdriver.FirefoxOptions()options.add_argument('--headless')browser_driver = webdriver.Firefox(executable_path=r"geckodriver执行文件的绝对路径", # 这里必须要是绝对路径# windows是.exe文件 xxx/xxx/geckodriver.exe, xxx/xxx/firefox.exe# linux直接是xxx/xxx/geckodriver, xxx/xxx/firefoxfirefox_binary=r"firefox执行文件的绝对路径",options=options)try:url = r'https://www.baidu.com/browser_driver.get(url)print ('当前爬取的网页url为:{0}'.format(browser_driver.current_url))print ('当前爬取网页内容为:\n {0}'.format(browser_driver.page_source))finally:# 无论有没有异常,都会执行退出语句browser_driver.quit()
if __name__ == '__main__':url = r'https://www.baidu.com'browser_crawler(url)
参考文献
- selenium 3.14 配置Firefox的路径
- Python爬虫_selenium + Firefox的使用
- Selenium WebDriver
Python爬虫——Selenium安装配置FireFox浏览器相关推荐
- Python用 selenium 模块控制Firefox浏览器
Python用 selenium 模块控制Firefox浏览器 需要的东西: Firefox浏览器下载地址: http://getfirefox.com/ selenium包: https://pyp ...
- [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图
前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能. [Pyt ...
- [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...
- [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍
前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...
- Python爬虫 Selenium实现自动登录163邮箱和Locating Elements介绍
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- Python爬虫 - Selenium(4)配置启动项参数
前言:本章将详细介绍Selenium启动项参数的配置,其中包括无界面模式(在服务器上运行不设置此项会报错).浏览器窗口大小设置.浏览器User-Agent (请求头)等等. 目录 一.常用参数 二.代 ...
- selenium中启动firefox浏览器时设置代理、加载配置文件、加载某个插件以及firefox没有安装在默认路径下的代码写法
selenium 中启动firefox浏览器的六种方式,所用的是java 1.如果浏览器没有安装在默认路径下,则用 System.setProperty("Webdriver.firefox ...
- 最全python爬虫库安装详解
目录 一.请求库的安装 1.requests 的安装 2.Selenium的安装 3.ChromeDrive 的安装 4.GeckoDriver 的安装 5.PhantomJS 的安装 6.aioht ...
- Python 爬虫 Selenium 基本使用
Python 爬虫 Selenium 基本使用 1. 基础知识 1.1 下载浏览器驱动 1.2 帮助文档 2. 浏览器操作 2.1 浏览器导航 2.2 窗口和选项卡 2.3 Frames and If ...
最新文章
- Exchenge2007用户设置邮件转发到外网地址
- 航天智慧物流!智能汽车竞赛—航天赛道开始报名啦!
- 查询三个月前的所有数据的sql语句
- UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
- source insight(SI)C/C++符号标记含义
- ORACLE经常使用的命令
- javascript 中 split 函数分割字符串成数组
- 互联网账户系统如何设计
- js正则标志/g,/i,/m说明
- 具有固定名称mysql.data_SQLServer数据库之未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架 解决方案...
- caffe学习日记--lesson8:站在巨人的肩膀上, denny的学习专栏——徐其华——caffe
- python具有可嵌入性_如何构建可嵌入Python
- 偏微分方程的数值解(一):定解问题 差分解法
- FAT文件系统几点释疑
- 如何做架构设计和评审
- 经典语录_生命的智慧
- windows10/11_远程桌面连接mstsc(局域网)/CLI获取当前主机名/用户名/修改windows主机名
- vue组件库大全(忘了的时候可以进来找一下~)
- CameraCaptureSession
- 前端实现lottie动画