写一个树莓派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库+设置无图无头属性相关推荐

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

    出一个最新windows下配置selenium全环境的教程~ 本文会手把手教你配置环境,并带你写第一个selenium爬虫程序 环境配置 1.安装Selenium库 Python和Anaconda-P ...

  2. 树莓派4B配置OpenCV4.4.0(解决报错)

    树莓派4B配置OpenCV 1.前言 首先,opencv在Linux系统上使用需要编译. 我参考的是这两篇文章. 树莓派4b Opencv安装(真实有效)--授人鱼不如授人以渔 用树莓派4b构建深度学 ...

  3. 树莓派 4b 配置 USB 网络连接

    树莓派 4b 配置 USB 网络连接 树莓派镜像: 2022-09-22-raspios-bullseye-arm64.img 电脑: windows 10 1 打开树莓派的 USB 网络 在 /bo ...

  4. 树莓派4b安装python库

    树莓派4b安装python库 树莓派安装好系统后自带的有python2和python3,默认是使用python2,可以打开树莓派查看: 输入python 查看默认的python版本: 我原来默认是py ...

  5. 树莓派4B WIFI 物理网口设置固定IP方法

    树莓派4B 设置WIFI固定IP+设置网口固定IP 1.修改配置文件 目录:/etc/dhcpcd.conf sudo vim /etc/dhcpcd.conf 2.编辑配置文件 在文件末尾添加 #家 ...

  6. docker 配置selenium调用Firefox无界面浏览器

    思路 docker 拉取一个ubuntu:8.04 在docker ubuntu中安装python3.6 在docker ubuntu中安装Firefox 配置selenium 测试 操作步骤 请参考 ...

  7. 树莓派4B供电不足导致相机采图死机输入死机的解决

    前言 在最近在淘宝入手了树莓派4B,用来开发新项目,采用的是Ubuntu QT主机交叉编译到树莓派上,在树莓派上运行自己的软件时,使用键盘输入会卡死,很是郁闷,一直以为自己写的程序有问题,还在怀疑是不 ...

  8. 无盘服务器网卡参数怎么设置,无盘 网卡属性设置(详细)(Diskless network card property settings (details)).doc...

    无盘 网卡属性设置(详细)(Diskless network card property settings (details)) 无盘 网卡属性设置(详细)(Diskless network card ...

  9. 树莓派4B配置ubuntu18.04.5

    1 SD Card Formatter格式化sd卡 2 Win32DiskImager 烧录镜像 ubuntu-18.04.5-preinstalled-server-arm64+raspi3 3 在 ...

最新文章

  1. 把java程序作为windows服务运行
  2. bzoj1007[HNOI2008]水平可见直线
  3. 我已经写了48年代码了,我感觉我还能写下去
  4. 超1亿人选择朋友圈三天可见,背后的原因值得深思
  5. Android,已知应用名称, 通过应用名称来启动应用
  6. iOS内存分配五大区:
  7. windows版mysql5.7.18安装
  8. 图像处理基本概念、术语
  9. 从海康7816的ps流里获取数据h264数据
  10. a5松下驱动器参数设置表_松下伺服驱动器参数设置MSD043A1X
  11. jsp + servlet 复习(C01)
  12. Python分析《哈哈哈哈哈》4万弹幕
  13. 你的计算机无法启动怎么回事,电脑无法正常启动如何做系统-“你的电脑未能正确启动”的解决方法...
  14. win7 ie8升级到ie9后教你如果如何还原ie8
  15. 《Python基础知识-4判断和循环语句》
  16. Simulink三相电机仿真(2)
  17. 多源传感器GNSS INS 视觉 LiDAR 组合导航与SLAM开源项目总结
  18. Ubuntu20.04挂载4T数据盘流程
  19. 前沿丨基于深度学习的点云分割网络及点云分割数据集
  20. 初中数学抽象教学的案例_初中数学典型教学案例与反思.doc

热门文章

  1. Win10自带的CPU和RAM资源仪表板
  2. Dapp 投票 Voting 实现流程
  3. JSON pretty化
  4. git命令统计代码量
  5. 参考文献管理软件Jabref和Zotero使用笔记
  6. 43000张图片和5项原则:用数据科学方法评选十大最火表情包
  7. Python爬虫实战,完整的思路和步骤(附源码)
  8. python itchat 抢红包-Python itchat模块在微信上的各种小应用
  9. 慕课网_《Redis入门》学习总结
  10. 原生JS实现图片跑马灯特效