树莓派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.com
    pypi.douban.com
  • 安装selenium库
    终端内输入pip3 install selenium
    静等片刻后,安装成功树莓派4B配置Selenium库+设置无图无头属性_第1张图片

2.安装Firefox浏览器

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

  • 终端中输入sudo apt-get install 安装火狐浏览器
    树莓派4B配置Selenium库+设置无图无头属性_第2张图片
    安装成功以后,互联网的选项里会多一个火狐浏览器
  • 下载驱动
    网站: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树莓派4B配置Selenium库+设置无图无头属性_第3张图片
  • 将文件移动到/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执行
树莓派4B配置Selenium库+设置无图无头属性_第4张图片

设置无图无头属性

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库+设置无图无头属性)