无头浏览器与Selenium:探索无界爬虫的奇妙世界

selenium设置无头浏览器

背景

​ 我们之前的selenium都是浏览器驱动自动打开一个网页,执行相关操作,其实也可以让其后台显示,不用在前台显示。

​ 要设置无头浏览器,可以使用Selenium的Headless模式。在Headless模式下,Selenium会在后台运行浏览器,而不会显示实际的浏览器窗口。

优点:

无头浏览器(Headless Browser)是指在没有图形用户界面(GUI)的情况下运行的浏览器。它能够执行和显示网页,但不会显示实际的浏览器窗口。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 创建ChromeOptions对象
chrome_options = Options()
# 在ChromeOptions中设置无头模式
chrome_options.add_argument("--headless")
# 实例化Chrome浏览器对象,并将ChromeOptions对象传递给它
driver = webdriver.Chrome(options=chrome_options)
# 在无头浏览器中执行相关操作
driver.get("https://www.example.com")
# 进行其他操作...
# 关闭浏览器
driver.quit()

案例:

实战案例一:

​ 要求:使用无头浏览器访问百度,然后截个图保存到本地

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time# 创建一个参数对象,用来控制chrome以无界面模式打开
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 驱动路径
path = './chromedriver.exe'
# 创建浏览器对象
browser = webdriver.Chrome(executable_path=path,options=chrome_options)# 上网
url = 'http://www.baidu.com/'
browser.get(url)
time.sleep(3)
# 截图 看个结果
browser.save_screenshot('baidu.png')browser.quit()

在这里插入图片描述

实战案例二:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 驱动路径
path = r'D:\Downloads\xx\chromedriver-win64\chromedriver.exe'# 创建一个参数对象,用来控制Chrome以无界面模式打开
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')# 创建浏览器对象
browser = webdriver.Chrome(executable_path=path, options=chrome_options)# 打开网页
url = 'http://www.baidu.com'
browser.get(url)# 定位元素并执行操作
search_input = browser.find_element_by_id('kw')  # 根据ID定位搜索输入框
search_input.send_keys('Hello, World!')  # 在搜索输入框中输入文本search_button = browser.find_element_by_id('su')  # 根据ID定位搜索按钮
search_button.click()  # 点击搜索按钮# 等待页面加载
browser.implicitly_wait(5)  # 隐式等待5秒钟# 获取搜索结果
results = browser.find_elements_by_css_selector('.result')  # 根据CSS选择器定位搜索结果
for result in results:print(result.text)  # 打印搜索结果的文本内容# 关闭浏览器
browser.quit()

在这里插入图片描述

​ 首先创建了一个参数对象chrome_options,用来控制Chrome以无界面模式打开。然后使用webdriver.Chrome()方法创建了一个Chrome浏览器对象,并传入驱动路径和参数对象。接下来,使用get()方法打开了百度的网页。然后使用find_element_by_*方法定位了搜索输入框和搜索按钮,并执行了相应的操作。在搜索结果的部分,使用find_elements_by_css_selector()方法定位了所有的搜索结果,并通过循环打印了每个搜索结果的文本内容。最后使用quit()方法关闭了浏览器。

温馨提示:

仅供学习参考,请勿用于数据获取。本案例仅旨在展示数据获取技术的应用和原理,并提供学习参考。请注意,未经授权的数据获取可能涉及法律和道德问题。在进行任何数据获取活动之前,请确保遵守相关法律法规和网站的规定。

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

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

相关文章

鸿蒙(HarmonyOS)应用开发——web组件

简述 在开发的工作中,可能存在一个场景,我们有一个问卷调查的h5页面,需要切入到app 中。这个时候,就需要从app 端操作,切换到web端操作。不管是安卓、ios、小程序都提供有web组件。那么harmonyos 中也提供web组件来在…

Kafka中的Topic

在Kafka中,Topic是消息的逻辑容器,用于组织和分类消息。本文将深入探讨Kafka Topic的各个方面,包括创建、配置、生产者和消费者,以及一些实际应用中的示例代码。 1. 介绍 在Kafka中,Topic是消息的逻辑通道&#xff0…

【华为数据之道学习笔记】3-2 基础数据治理

基础数据用于对其他数据进行分类,在业界也称作参考数据。基础数据通常是静态的(如国家、币种),一般在业务事件发生之前就已经预先定义。它的可选值数量有限,可以用作业务或IT的开关和判断条件。当基础数据的取值发生变…

GSAP动画库,探究苹果官网页面滚动动画是如何实现的

GSAP动画库,探究苹果官网页面滚动动画是如何实现的 前言 每次浏览苹果官网时都在好奇,当我们向下滚动页面时一个个文字或图片总能缓缓浮现,往上滚动时又能慢慢收起来,这就究竟是如是实现的呢。在查阅一些资料时发现了Scrollmagi…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含pytho、JS工程源码)+数据集+模型(五)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境微信开发者工具OneNET云平台 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 上传结果5. 小程序开发1)查询图片2)查询识别结…

paypal贝宝怎么绑卡支付

一、PayPal是什么 PayPal是一个很多国家地区通用的支付渠道,我们可以把它理解为一项在线服务,相当于美国版的支付宝。你可以通过PayPal进行汇款和收款,相比传统的电汇和西联那类的汇款方式,PayPal更加简单和容易,被很…

利用proteus实现串口助手和arduino Mega 2560的串口通信

本例用到的proteus版本为8.13,ardunio IDE版本为2.2.1,虚拟串口vspd版本为7.2,串口助手SSCOM V5.13.1。软件的下载安装有很多教程,大家可以自行搜索,本文只介绍如何利用这4种软件在proteus中实现arduino Mega 2560的串…

Day45| 爬楼梯 (进阶)Leetcode 322. 零钱兑换 Leetcode 279. 完全平方数

爬楼梯 &#xff08;进阶&#xff09; 题目链接 爬楼梯&#xff08;进阶版&#xff09; 本题目属于排列中的背包问题&#xff0c;所以先遍历背包&#xff0c;后遍历物品&#xff0c;剩下的就是完全背包的板子了&#xff0c;下面直接上代码&#xff1a; #include<iostream…

刷题记录--算法--简单

第一题 2582. 递枕头 已解答 简单 相关标签 相关企业 提示 n 个人站成一排&#xff0c;按从 1 到 n 编号。 最初&#xff0c;排在队首的第一个人拿着一个枕头。每秒钟&#xff0c;拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾&#xff0c;传递…

高防IP是什么?有什么优势?

随着互联网的普及和快速发展&#xff0c;网络安全问题日益突出。在众多安全问题中&#xff0c;DDOS攻击是一种常见的攻击手段&#xff0c;它通过发送大量的无效或低效请求&#xff0c;使得目标服务器无法响应正常用户的请求&#xff0c;从而造成服务不可用的情况。为了解决这个…

部署zabbix

源码下载地址&#xff1a; Download Zabbix sources nginx: download 防火墙和selinux都需要关闭 1、部署监控服务器 1&#xff09;安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来&#xff0c;并且还需要使用MySQL来存储数据&#xff0c;因此需要先为Zabbix准备基础…

vue的el

类型&#xff1a;string | Element 限制&#xff1a; 只在用 new 创建实例时生效。 详细&#xff1a; 提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标。可以是 CSS 选择器&#xff0c;也可以是一个 HTMLElement 实例。 在实例挂载之后&#xff0c;元素可以用 vm.…

Java创建线程有哪几种方式?

Java创建线程有哪几种方式&#xff1f; 在 Java 中&#xff0c;创建线程有多种方式&#xff0c;主要包括使用 Thread 类和实现 Runnable 接口。以下是几种常见的创建线程的方式&#xff1a; 继承 Thread 类&#xff1a; 通过继承 Thread 类并重写 run 方法来创建线程。 class …

如何使用eXtplorer+cpolar内网穿透搭建个人云存储实现公网访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

关于互联网安全方面需要了解的一些知识

关于互联网安全方面需要了解的一些知识 文章目录 关于互联网安全方面需要了解的一些知识一、资产扫描二、漏洞扫描三、渗透测试四、POC五、Exp六、代码规范七、函数命名八、注释怎么写 一、资产扫描 资产扫描是一种通过扫描网络或系统中所有设备、应用程序和服务&#xff0c;识…

PHP escapeshellarg()+escapeshellcmd()绕过

文章目录 函数利用escapeshellarg()函数escapeshellcmd()函数 exp执行原理攻击面例题 [BUUCTF 2018]Online Tool例题 [网鼎杯 2020 朱雀组]Nmap 函数利用 escapeshellarg()函数 单引号 ()&#xff1a;转义为 \。 双引号 (")&#xff1a;转义为 \"。 反斜杠 (\)&…

HTTP不同场景下的通信过程和用户上网认证过程分析

目录 HTTP不同场景的通信过程 HTTP正常交互过程 HTTP透明加速传输过程 HTTP代理服务器场景下交互过程 通过AC对上网用户不同场景的认证过程 AC上网认证正常交互过程 通过Cookie实现免认证交互过程 代理服务器场景下HTTP密码认证交互过程 HTTP不同场景的通信过程 HTTP、…

专业130+总分400+云南大学通信847专业基础综考研经验(原专业课827)

今年专业130总分400云南大学通信上岸&#xff0c;整体考研感觉还是比较满意&#xff0c;期间也付出了很多心血&#xff0c;走过弯路&#xff0c;下面分享一下这一年考研得失&#xff0c;希望大家可以从中有所借鉴。 先说明我在考研报名前更换成云南大学的理由&#xff1a;&…

谷歌正式发布最强 AI 模型 Gemini

2023年12月6日&#xff0c;谷歌公司宣布推出其被认为是规模最大、功能最强大的人工智能模型 Gemini。 Gemini将分为三个不同的套件&#xff1a;Gemini Ultra、Gemini Pro和Gemini Nano。 Gemini Ultra被认为具备最强大的能力&#xff0c;Gemini Pro则可扩展至多任务&#x…

xilinx原语详解及仿真——ODDR

ODDR位于OLOGIC中&#xff0c;可以把单沿传输的数据转换为双沿传输的数据&#xff0c; 在讲解ODDR功能之前&#xff0c;需要先了解OLOGIC的结构及功能。 1、OLOGIC OLOGIC块位于IOB的内侧&#xff0c;FPGA内部信号想要输出到管脚&#xff0c;都必须经过OLOGIC。OLOGIC资源的类…