当前位置: 首页 > news >正文

网站备案中页面logo设计在线生成免费图片加文字

网站备案中页面,logo设计在线生成免费图片加文字,网站dw建设,店铺设计logo接上篇《36、Selenium 动作交互》 上一篇我们介绍了selenium操作网页的动作内容。本篇我们来学习有关phantomjs的相关知识。 一、selenium的缺点 在介绍PhantomJS之前#xff0c;让我们先讨论一下直接使用Selenium的一些缺点。 1、显示浏览器窗口#xff1a;Selenium通常需…接上篇《36、Selenium 动作交互》 上一篇我们介绍了selenium操作网页的动作内容。本篇我们来学习有关phantomjs的相关知识。 一、selenium的缺点 在介绍PhantomJS之前让我们先讨论一下直接使用Selenium的一些缺点。 1、显示浏览器窗口Selenium通常需要一个真实的浏览器窗口来执行测试或爬虫任务。这就意味着它会打开一个可见的浏览器窗口这可能不是理想的选择因为大部分同学都希望在后台运行这些自动化任务。 2、速度较慢由于Selenium模拟了浏览器的交互行为它可能比其他工具执行相同的任务更慢尤其是在大规模数据爬取或测试方面。 3、内存占用高Selenium驱动真实的浏览器窗口因此它需要占用大量内存资源。如果你需要同时运行多个并发任务这可能会导致内存消耗过高影响性能。 此时我们就需要使用“无头浏览器”来解决这些问题。那么什么是“无头浏览器”呢 无头浏览器就是Web浏览器在没有图形用户界面的情况下。此程序的行为与浏览器类似但不会显示任何GUI。 无头驱动程序的一些示例包括 ● HtmlUnit ● Ghost ● PhantomJS ● ZombieJS ● Watir-WebDriver 在本篇博客我们将先来介绍phantomjs。 二、phantomjs介绍及价值 让我们看看PhantomJS如何解决上述问题以及为什么它具有价值的。 PhantomJS是一个基于WebKit的无界面浏览器它可以通过命令行或脚本进行控制和操作而无需显示实际浏览器窗口。这使得PhantomJS在以下方面具有优势 1、无界面操作PhantomJS在后台执行任务没有可见窗口这对于需要在服务器或自动化环境中运行的任务非常有用。你可以在无需人工干预的情况下执行自动化测试、网页截图、数据爬取等操作。2、快速执行由于PhantomJS不需要显示浏览器窗口它通常比使用Selenium的方法更快。它可以以较高的速度加载和渲染页面从而提高您的自动化任务的效率。3、较低的内存消耗相比于Selenium驱动实际浏览器窗口PhantomJS通常需要更少的内存资源。这使得它在需要同时处理多个任务或大规模数据爬取时更具优势。 综上所述PhantomJS通过提供无界面浏览器的功能解决了Selenium直接使用的一些缺点。它能够在后台执行任务加快执行速度并且占用较少的内存资源。这使得PhantomJS成为一个强大的工具适用于自动化测试、网络爬虫、屏幕截图等各种应用场景。 这样看来如果我们把Selenium和PhantomJS结合在一起就可以运行一个非常强大的网络爬虫了这个爬虫可以处理JavaScrip、Cookie、headers以及任何我们真实用户需要做的事情。 三、PhantomJS的工作原理 1、WebKit引擎 PhantomJS是一个基于WebKit的无界面浏览器而WebKit是一个开源的浏览器引擎被PhantomJS用于解析和渲染网页内容。 WebKit是一个跨平台的Web浏览器引擎苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。WebKit还支持移动设备和手机包括iPhone和Android手机都是使用WebKit做为浏览器的核心。 WebKit负责处理HTML、CSS和JavaScript并将它们转化为可视化的网页。它具有优秀的兼容性和高性能是许多主流浏览器所采用的核心引擎之一。 2、页面加载和渲染流程 下面是PhantomJS利用WebKit浏览器引擎在后台进行网页加载和渲染的过程 1发起网络请求 PhantomJS通过网络协议如HTTP和HTTPS向服务器发送请求获取网页内容。 2HTML解析和DOM树构建 接收到网页内容后PhantomJS进行HTML解析将HTML文档转换为DOM树结构。 DOM树代表了网页的结构每个元素都对应着DOM节点可以通过节点进行操作和访问。 3样式处理和布局计算 PhantomJS处理CSS样式信息匹配选择器与DOM节点计算最终的样式结果。 样式信息包括字体、颜色、大小等对页面外观和布局起着重要作用。 4页面渲染和资源加载 将DOM树和样式信息合成为最终的渲染结果。 渲染过程包括布局计算、绘制元素、处理图像等将网页呈现给用户。 同时PhantomJS会加载页面所需的资源如图片、脚本和样式表等。 5JavaScript执行 PhantomJS支持JavaScript的执行它能够对页面进行交互和动态效果的实现。 执行JavaScript代码可以触发事件、修改DOM内容等。 6渲染结果呈现 最终渲染结果可以在屏幕上显示给用户也可以进行进一步处理如截图、数据提取等操作。 四、PhantomJS的使用步骤及示例 1、安装和配置 PhantomJS官网下载地址https://phantomjs.org/download.html 下载完毕后解压压缩包将文件夹放在我们python安装文件夹的下面 进入bin文件夹然后复制上面的路径桌面右击我的电脑选择属性 点击高级环境设置 点击环境变量 在下面的系统变量中找到Path并双击 点击新建将之前复制的bin的全路径粘贴进去依次点击确定完成配置 然后打开cmd输入phantomjs按回车如果结果为下图则安装正确 下面我们就可以使用phantomjs了。 2、在python中测试phantomjs 编写以下代码使用PhantomJS浏览器打开百度 # _*_ coding : utf-8 _*_ # Time : 2023-09-23 11:45 # Author : 光仔December # File : PhantomJS样例 # Project : Python_Projectsfrom selenium import webdriverbrowser webdriver.PhantomJS()  # 初始化浏览器 # 发送请求 browser.get(https://www.baidu.com/)   print(browser.title)  # 打印页面的标题 # 退出模拟浏览器 browser.quit()  # 一定要退出不退出会有残留进程 能够正常显示百度的标题证明环境安装成功: 这里注意新版的selenium已经放弃PhantomJS两家分手了官方推荐我们用Chrome或Firefox的无头版本来替代所以可能会出现下面的报错AttributeError: module selenium.webdriver has no attribute PhantomJS 这里如果我们想要测试需要把selenium版本降低一般是2.48.0。 通过pip show selenium显示当前的默认安装版本我是4.12.0先降级吧 。 先执行删除新版本 pip uninstall selenium 再安装指定版本 pip install selenium2.48.0 3、使用phantomjs的步骤 1首先确保你已经安装了Selenium和PhantomJS并将它们添加到你的项目中。 2导入相应的包 from selenium import webdriver 3创建一个PhantomJS的WebDriver实例 driver webdriver.PhantomJS() 4使用WebDriver打开网页 driver.get(http://example.com) 5进行其他的操作比如查找元素、点击按钮等 element driver.find_element_by_id(my-element) element.click() 6最后记得关闭WebDriver driver.quit() 这些代码将创建一个PhantomJS的WebDriver实例并通过该实例控制浏览器行为。大家可以根据自己的需求在代码中添加更多的操作和逻辑。请注意从Selenium 4开始PhantomJS被废弃了建议使用基于Chrome的Headless模式代替。 4、实例 我们通过selenium操作PhantomJS模拟浏览器行为百度搜索“我要学python”获取第一个非广告的搜索结果打印其标题和链接地址 代码如下 # _*_ coding : utf-8 _*_ # Time : 2023-09-23 11:45 # Author : 光仔December # File : PhantomJS样例 # Project : Python_Projectsfrom selenium import webdriver from selenium.webdriver.common.by import Bybrowser webdriver.PhantomJS()  # 初始化浏览器 # 发送请求 browser.get(https://www.baidu.com/) print(browser.title)  # 打印页面的标题 # 1通过ID定位百度搜索的按钮 element1 browser.find_element(By.ID, su) # 2通过名称定位元素百度的搜索输入框 element2 browser.find_element(By.NAME, wd) # 给输入框输入字符串“我要学python” element2.send_keys(我要学python) element1.click()  # 点击搜索 # 使用浏览器隐式等待3秒 browser.implicitly_wait(3) resultObj browser.find_element(By.XPATH, //div[id\content_left\]//div[id\1\]) url resultObj.get_attribute(mu) aObj resultObj.find_element(By.TAG_NAME, a) text aObj.text # 获取 print(搜索‘我要学python’的第一个非广告结果) print(结果标题, text) print(地址链接, url) # 退出模拟浏览器 browser.quit()  # 一定要退出不退出会有残留进程 效果 PS搞完了我赶紧把selenium升级回4.12.0版本以免影响后面新技术的学习 。 由于selenium已经放弃PhantomJS下一篇我们使用Chrome的无头版本来代替学习Chrome的Handless无头浏览器的使用。 参考尚硅谷Python爬虫教程小白零基础速通教学视频转载请注明出处https://guangzai.blog.csdn.net/article/details/133203375
http://www.zqtcl.cn/news/485324/

相关文章:

  • 如何做网站的维护和推广wordpress首页在哪里修改
  • 网站建设公司在哪里宣传网站群系统建设的目的
  • 建立网站的教学书籍最新网站建设哪家公司好
  • 视频网站开发者工具科技网站新版网站上线
  • 网站设计简单网页百度提交网站
  • 建设企业网站网站崩溃西安百度网站快速排名
  • 前端 国外 网站请人做网站得多少钱
  • 微商如何做网站引流上海市有哪些公司
  • 服务类型网站开发需要哪些技术中国设计师网效果图
  • 电子商务网站建设技术有哪些方面做婚礼请柬的网站有哪些
  • 做暖暖欧美网站全国职工素质建设工程专题网站
  • 策划对于企业网站建设来说网站开发新加坡
  • 做仪表行业推广有哪些网站个人网站备案模板
  • 做微网站是订阅号还是服务号号网站建设叫什么软件
  • 美团初期是怎么建网站特效视频素材网站
  • 网站建设行业市场分析刚创业 建网站
  • 网站推广昔年下拉wordpress 首页添加链接地址
  • 网站年费推荐专业做网站公司
  • 邵东微网站建设设计网页图片
  • 沈阳高端做网站建设应用软件商店
  • 05网站首页设计说明
  • 给企业做网站运营手机做简单的网站
  • 做网站卖广告国家公示企业信息查询系统
  • 西安网站建设公司找哪家如何做平台推广赚钱
  • 网站优化个人工作室怎么找网站开发公司
  • 如何把网站一个栏目做301跳转推广途径
  • 房山做网站北京本地网络推广平台
  • 网站建设 麓谷政法网站建设有哪些不足
  • 湖北网站建设路建设工程安全事故在哪个网站查
  • 建筑公司查询网站网站开发 系统需求文档