centos7安装Chrome使用selenium-wire

背景:在centos7中运行selenium-wire爬虫,系统自带的Firefox浏览器不兼容,运行报错no attribute ‘set_preference’,应该是selenium-wire和Firefox的驱动不兼容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vGy4rXIu-1731727463780)(https://i-blog.csdnimg.cn/direct/b0150dc08aaa4127b68aa4dc8cf5a419.png)]
查了半天不知道怎么解决,就想在centos7上安装Chrome来跑爬虫,毕竟Chrome的资料多一点

在Centos7.9上安装python3.9

因为系统自带或者用yum直接install的python最高支持3.6,这个版本pip无法兼容安装selenium-wire,因为需要selenium>=4.0,想用上教新版本的就需要更新python

  1. 查询是否有其他python版本
python3 --version
  1. 卸载存在的python3版本
yum remove python3
  1. 在官网中找到需要的Python版本
    https://www.python.org/ftp/python

  2. 登录到centos7

# 使用命令将python安装包下载到centos7
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
# 如果未安装wget,使用命令进行安装
yum -y install wget
  1. 使用命令解压下载的Python安装包
tar -zxvf Python-3.9.0.tgz
  1. 使用命令准备编译环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
  1. 创建安装目录
mkdir -p /opt/python3.9
  1. 进入到解压后的安装包内
cd Python-3.9.0
指定安装目录执行
./configure --prefix=/opt/python3.9
  1. 编译安装
make && make install
  1. 创建软连接,依次执行以下代码
ln -s /opt/python3.9/bin/python3.9 /usr/bin/python3
ln -s /opt/python3.9/bin/pip3.9 /usr/bin/pip3
  1. 检验python
python3 --version

安装Chrome

选择了安装124版本,下载地址:

http://dist.control.lth.se/public/CentOS-7/x86_64/google.x86_64/google-chrome-stable-124.0.6367.118-1.x86_64.rpm

或选择自己想要的版本(过高版本可能会安装失败):

http://dist.control.lth.se/public/CentOS-7/x86_64/google.x86_64/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDps1kqJ-1731727463782)(https://i-blog.csdnimg.cn/direct/63bd7c166e35458eb22af6278a0109a3.png)]

  1. 上传下载的chrom安装包
  2. 准备安装环境
yum -y install liberation-fonts
yum -y install libvulkan*
  1. 安装Chrome
rpm -ivh google-chrome-stable-124.0.6367.118-1.x86_64.rpm
  1. 启动
    使用root用户启动需要使用
google-chrome --no-sandbox

下载对应Chrome版本的driver

地址:

https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.207/linux64/chromedriver-linux64.zip

或者最新驱动器的地址:

https://googlechromelabs.github.io/chrome-for-testing/

解压zip把驱动放到环境内

cp chromedriver-linux64/chromedriver /usr/local/bin/

安装selenium-wire

pip3 install selenium selenium-wire
pip3 install requests

基本使用

from seleniumwire import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
def my_get():options = Options()# 启用无头模式options.add_argument('--headless')# 关闭浏览器上部提示语:Chrome正在受到自动软件的控制options.add_experimental_option(name='excludeSwitches', value=['enable-automation'])options.add_experimental_option(name='useAutomationExtension', value=False)# options.add_argument("blink-settings=imagesEnabled=false")  # 不加载图片, 提升速度,登陆时需要加载user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'options.add_argument(f'user-agent={user_agent}')drivers = webdriver.Chrome(options=options)drivers.set_window_size(1920, 1080)drivers.get("https://www.baidu.com/")drivers.implicitly_wait(5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/61314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 中mysql查看慢日志

1、到mysql容器,先登录到数据库,查看是否开启 mysql -h 127.0.0.1 -uroot -p SHOW VARIABLES LIKE slow_query_log; 2、如果没有开启,需要先开启 set global slow_query_log ON; 3、查看慢日志文件 SHOW VARIABLES LIKE slow_query_log…

从0开始机器学习--Day30--异常检测算法

异常检测算法(Anomaly detection algorithm) 我们定义异常检测算法的输出,也写作,这里的每一项括号内代表的是每个特征都符合各自的高斯分布(也就是正态分布),代表均值,决定了模型的中心位置;代…

架构图解析:如何构建高效的微服务系统

在当今的数字化浪潮中,构建高效、灵活且可扩展的系统已成为企业的重要目标。微服务架构作为一种先进的软件设计模式,通过将复杂的应用程序分解为一系列小型、独立的服务,显著提升了系统的灵活性、可扩展性和维护性。本文将通过解析微服务系统…

排序排序的概念及其运用和选择排序

排序排序的概念及其运用和选择排序 7. 排序7.1 排序的概念及其运用7.2 选择排序算法——直接选择排序选择排序基本思想:直接选择排序选择排序原理参考程序 如何交换数据直接选择排序的特性总结: 7. 排序 7.1 排序的概念及其运用 排序:所谓排…

Websocket如何分块处理数据量超大的消息体

若我们服务端一次性最大处理的字节数是1M,而客户端发来了2M的数据,此时服务端的数据就要被切割成两次传输解码。Http协议中有分块传输,而在Websocket也可以分块处理超大的消息体。在jsr356标准中使用javax.websocket.MessageHandler.Partial可以分块处理…

【澜舟科技-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击,存在如下风险: 暴力破解密码,造成用户信息泄露,不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 ,造成用户无法登陆、注册,大量收到垃圾短信的…

uni-app快速入门(十)--常用内置组件(下)

本文介绍uni-app的textarea多行文本框组件、web-view组件、image图片组件、switch开关组件、audio音频组件、video视频组件。 一、textarea多行文本框组件 textarea组件在HTML 中相信大家非常熟悉,组件的官方介绍见: textarea | uni-app官网uni-app,un…

Tomcat 如何管理 Session

Tomcat 如何管理 Session 我们知道,Tomcat 中每一个 Context 容器对应一个 Web 应用,而 Web 应用之间的 Session 应该是独立的,因此 Session 的管理肯定是 Context 级的,也就是一个 Context 一定关联多个 Session。 Tomcat 中主…

鸿蒙NEXT开发-用户通知服务的封装和文件下载通知

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

01 IP路由基础

一、路由器是怎么转发数据包 • 当数据包到达路由器之后,根据数据包的目的 IP 地址,查找 路由表,并根据路由表中相应的路由所指示出接口还有下一跳 指导数据包在网络中的转发。 • 如果路由器路由表没有路由怎么办? -------- 将数…

Android studio 呼叫盒app

一、权限文件 0.gradle切换国内源 #Fri Nov 08 15:46:05 CST 2024 distributionBaseGRADLE_USER_HOME distributionPathwrapper/dists distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-8.4-bin.zip zipStoreBaseGRADLE_USER_HOME zipStorePathwrapper/dists1…

[Admin] Dashboard Filter for Mix Report Types

Background RevOps team has built a dashboard for sales team to track team members’ performance, but they’re blocked by how to provide a manager view based on sales’ hierarchy. Therefore, they seek for dev team’s help to clear their blocker. From foll…

2024年人工智能技术赋能网络安全应用测试:广东盈世在钓鱼邮件识别场景荣获第三名!

近期,2024年国家网络安全宣传周“网络安全技术高峰论坛主论坛暨粤港澳大湾区网络安全大会”在广州成功举办。会上,国家计算机网络应急技术处理协调中心公布了“2024年人工智能技术赋能网络安全应用测试结果”。结果显示,广东盈世计算机科技有…

Java进阶四-异常,File

异常 概念:代表程序出现的问题。 目的:程序出现了异常我们应该如何处理。 最高父类:Exception 异常分为两类 编译时异常:没有继承RuntimeException的异常,直接继承与Exception,编译阶段就会错误提示。运行时异常:RuntimeExc…

ERROR TypeError: AutoImport is not a function

TypeError: AutoImport is not a function 原因:unplugin-auto-import 插件版本问题 Vue3基于Webpack,在vue.config.js中配置 当unplugin-vue-components版本小于0.26.0时,使用以下写法 const { defineConfig } require("vue/cli-se…

Elasticsearch:更好的二进制量化(BBQ)对比乘积量化(PQ)

作者:来自 Elastic Benjamin Trent 为什么我们选择花时间研究更好的二进制量化而不是在 Lucene 和 Elasticsearch 中进行生产量化。 我们一直在逐步使 Elasticsearch 和 Lucene 的向量搜索变得更快、更实惠。我们的主要重点不仅是通过 SIMD 提高搜索速度&#xff0…

检查课程是否有效

文章目录 概要整体架构流程技术细节小结 概要 这是一个微服务内部接口,当用户学习课程时,可能需要播放课程视频。此时提供视频播放功能的媒资系统就需要校验用户是否有播放视频的资格。所以,开发媒资服务(tj-media)的…

红外遥控报警器设计(模电课设)

一、设计要求 利用NE555p芯片设计制作报警器。要求当有人遮挡红外光时发出报警信号,无人遮挡红外光时报警器不工作,即不发声。 二、元器件 555芯片:NE555P 集成运放:LM358 三级管:2N1711 蜂鸣器:HY-30…

Spring MVC——针对实习面试

目录 Spring MVC什么是Spring MVC?简单介绍下你对Spring MVC的理解?Spring MVC的优点有哪些?Spring MVC的主要组件有哪些?Spring MVC的工作原理或流程是怎样的?Spring MVC常用注解有哪些? Spring MVC 什么是…

机器学习(贝叶斯算法,决策树)

朴素贝叶斯分类 贝叶斯分类理论 假设现有两个数据集,分为两类 我们现在用p1(x,y)表示数据点(x,y)属于类别1(图中红色圆点表示的类别)的概率,用p2(x,y)表示数据点(x,y)属于类别2(图中蓝色三角形表示的类别)的概率,那么对于一个新数据点(x,y)…