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

2023-12-19 16:32

本文主要是介绍树莓派4B配置Selenium库+设置无图无头属性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写一个树莓派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(

这篇关于树莓派4B配置Selenium库+设置无图无头属性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/512904

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核