本文主要是介绍树莓派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库+设置无图无头属性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!