树莓派4B配置Selenium库+设置无图无头属性

article/2025/7/20 22:01:32

写一个树莓派4B配置selenium库,并成功调用浏览器进行自动化爬虫
本文会手把手教你配置环境,并带你写第一个selenium爬虫程序

使用版本说明

系统:官网2020-02-13-raspbian-buster-full
Python:树莓派自带的3.7.3
以下所有的pip操作都会用到pip3命令

安装配置相关文件

1.使用pip3指令安装selenium库

  • 先换树莓派pip3的源,这样安装较快
    终端内依次输入
    sudo mkdir ~/.pip
    cd .pip
    sudo nano pip.conf
    再粘贴以下内容,之后按ctrl+o保存退出
[global]
timeout = 10
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=mirrors.aliyun.compypi.douban.com
  • 安装selenium库
    终端内输入pip3 install selenium
    静等片刻后,安装成功在这里插入图片描述

2.安装Firefox浏览器

自带的Chromium浏览器网上没有找到支持的驱动,所有我们这里使用火狐

  • 终端中输入sudo apt-get install 安装火狐浏览器
    在这里插入图片描述
    安装成功以后,互联网的选项里会多一个火狐浏览器
  • 下载驱动
    网站:https://github.com/mozilla/geckodriver/releases/tag/v0.23.0
    一键下载链接
    这里要下载v0.23.0版本中的arm7hf文件,只能用0.23版本,高版本没有arm7了。
    注:我是使用电脑下载的,因此还需将下载好的驱动文件拷贝到树莓派中
    这里我使用filezilla,将文件拷贝到了/home/pi/Downloads目录下

3.安装驱动

  • 解压文件(如果已经是geckodriver文件,跳过这步)
    树莓派终端中,进入下载目录 cd /home/pi/Downloads
    解压文件 tar -zxvf geckodriver-v0.23.0-arm7hf.tar.gz在这里插入图片描述
  • 将文件移动到/usr/bin/目录
    sudo mv geckodriver /usr/bin/
  • 进入到/usr/bin/目录,赋予geckodriver文件权限
    cd /usr/bin/
    sudo chmod -R 777 geckodriver

4.测试安装结果

我们可以写一小段python代码来测试以下

from selenium import webdriver
url="https://www.baidu.com"
browser = webdriver.Firefox()
browser.get(url)
source = browser.page_source
print(source)

看看你的树莓派会不会自动打开火狐浏览器并输出网页源码
注:代码执行时,一定要用python3执行
在这里插入图片描述

设置无图无头属性

selenium库主要用于自动化和爬虫,爬虫基本可以爬取一切网站。
唯一的缺点就是只能等待网站加载完,selenium才能提取代码,
对于无关内容很多网站,我们就可以设置无图属性
让浏览器不显示在前台,可以设置无头属性

  • 设置无图无头完整代码
from selenium import webdriver
url="https://www.baidu.com"
option=webdriver.FirefoxOptions()						#读取配置文件
option.add_argument('--headless')						#设置无头属性
option.set_preference('permissions.default.image',2)	#设置无图属性
browser = webdriver.Firefox(options=option)				#加载配置文件,并调用浏览器
browser.get(url)
source = browser.page_source
print(source)

无论是无图还是无头模式,都要先读取一下配置文件

option=webdriver.FirefoxOptions()						#读取配置文件

设置完属性后,加载浏览器一定要加上设置属性

browser = webdriver.Firefox(options=option)				#加载配置文件,并调用浏览器
  • 如果不想设置无头模式,又想运行完之后自动关闭浏览器,在代码的最后添加一行,浏览器就会自动关闭
browser.quit(

http://chatgpt.dhexx.cn/article/aSZUimUX.shtml

相关文章

屏蔽图片的chrome插件

有时候觉得CSDN博客的广告好烦啊,还有有些看小说的网站,于是找了个屏蔽图片的插件。 效果如图: 之前博客的广告 之后: CSDN的广告有字,所以不会完全不显示,但是有很多小说网站都可以直接全部屏蔽掉…

python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求

安装chromedriver 下载 chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。 有两个下载地址: 1、http://chromedriver.storage.googleapis.com/index.html 2、CNPM Binaries Mirror 当然,你首先需要查看你的Chrome版本&…

360浏览器,怎么开启无图片模式,在开热点的时候,省流量

如果某些网站,我需要加载图片,如csdn上传图片的时候。 这时候我们需要进行放权:

【Playwright】关于无痕模式与无头模式

Playwright的无头模式和无痕模式 无头模式 无头模式指的是自动测试框架在执行过程中不打开浏览器窗口的功能。在Playwright中,关闭无头模式会在测试代码执行过程中显示浏览器窗口,执行的过程会显示在浏览器的上。 # 以下代码以Playwright的同步API为例…

爬虫之selenium开启无界面模式

绝大多数服务器是没有界面的,selenium控制谷歌浏览器也是存在无界面模式的(又称之为无头模式) 开启无界面模式的方法 实例化配置对象 options webdriver.ChromeOptions()配置对象添加开启无界面模式的命令 options.add_argument("--he…

locust入门 -6 无图模式和分布式执行

无图模式 无图模式即不通过UI界面进行执行locust测试用例。locust提供了命令参数,我们只需要在执行时添加一个--headless标签即可 “Disable the web interface, and start the test immediately. Use -u and -t to control user count and run time ” 以下内容为…

Python爬虫配置Selenium库+设置无图无头属性

出一个最新windows下配置selenium全环境的教程~ 本文会手把手教你配置环境,并带你写第一个selenium爬虫程序 环境配置 1.安装Selenium库 Python和Anaconda-Python中并不包含Selenium包,这里我们要安装一下Selenium这个包 以下三种方式认选一种即可&am…

chrome如何进入无图模式?

chrom只显示文字不显示图片 隐私和安全-图片 可以设置所有网站都不显示图片 自定义指定网站不允许显示图片

locust入门 —— 无图模式和分布式执行

无图模式 无图模式即不通过UI界面进行执行locust测试用例。locust提供了命令参数,我们只需要在执行时添加一个--headless标签即可 “ Disable the web interface, and start the test immediately. Use -u and -t to control user count and run time ” 以下内容为…

PC端浏览器如何设置无图模式

以谷歌浏览器为例,注意有些浏览器并不支持该功能。 1)打开自定义与控制 2)选择设置 3)查看左边状态栏,选择高级设置--》隐私设置和安全性 4)选择内容设置 5)图片 6)选择不显示任何图…

火狐浏览器设置无图模式

步骤一 打开火狐浏览器,在地址栏输入about:config,然后回车 步骤二 在出来的页面中搜索:permissions.default.image 步骤三 把 permissions.default.image 设成 2 保存。 效果

万向锁的简单数学解释

我们知道用欧拉角表示空间的旋转,容易产生万向锁(Gimbal Lock)问题,这常常不太容易理解。下面给出一个直观的数学解释。 欧拉角表示的空间旋转,可以用绕三个坐标轴的旋转矩阵的乘积表示 万向锁问题就是出现在这种表示方法中。 假如我们令 β…

万向锁的理解

万向锁 万向锁这个概念其实还是不大好理解的,看了很多的博客,虽然看起来他们讲的很有道理,可还是想不通。 希望我这篇文章能讲清楚。。。 万向锁产生的根本原因是绕三个轴的旋转不是同时进行的,想象一下我们旋转矩阵的推导是不是…

万向锁问题详解,以Unity为例

转载自:https://blog.csdn.net/fengya1/article/details/50721768 根据上面的说明两个旋转面(圆圈)怎么会共面,让我迷糊。假设共面,那这两个旋转面的法线应该是旋转轴,要想两个面共面,那旋转轴肯…

UE4解决万向锁问题

万向锁 目录万向锁的来源Unity中最简单的万向锁UE4最简单万向锁解决方案四元数与欧拉角之间的转换参考链接 目录 万向锁的来源 简单而言,万向锁就是由于物体在进行旋转时(前提是通过欧拉角进行旋转),当旋转到某个特定角度会导致…

万向锁(Gimbal lock)问题的理解及解决

万向锁(Gimbal lock)问题的理解及解决 万向锁(Gimbal lock): 一旦选择90作为pitch角,就会导致第一次旋转和第三次旋转等价,整个旋转表示系统被限制在只能绕竖直轴旋转,丢失了一个表示维度。 对于万向锁的…

欧拉角表示旋转会出现的问题——万向锁(Gimbal Lock)

本文用来总结万向锁问题。尽量写得非常简单,方便自己复习和后人理解,水平有限若有错误请指教。 一、旋转的表示 本文中矩阵计算的结果是在世界坐标系(称之为North East Down Frame NED Frame)中的坐标; 参考文章中最后矩阵计算的…

旋转矩阵、欧拉角,万向锁的危害

1. 万向锁会带来什么危害? 最近看了很多万向锁的文章,大家都集中于讲述万向锁的成因,最后都会加上句“导致缺失一个方向的自由度”,但是万向锁现象到底会给实际工作带来什么问题?具体点,万向锁会给姿态解算…

资料分享:一文搞懂万向锁

大家好,我是被深圳台风吹飞的小鱼。台风老哥太暴躁,早上上班裤子都湿了 今天给大家分享一篇文章,主要讲的是欧拉角的万向锁现象,大家知道表示旋转的方式有很多,其中欧拉角就属于比较常见的一种方式,但是欧…

【SLAM学习笔记1】欧拉角之万向锁问题(Gimbal Lock)

文章目录 前言一、欧拉角1.欧拉角是什么?2.使用欧拉角的优缺点 二、万向锁问题的预备知识1.Gimbal(平衡架)2.相关术语 三、万向锁问题1.Gimbal Lock(万向锁问题)的现象2.Gimbal Lock(万向锁问题&#xff09…