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

住房城乡建设局网站首页sem是什么仪器

住房城乡建设局网站首页,sem是什么仪器,做网站页面视频教学,南昌企业网站建设公司哪个好什么是无头浏览器? 无头浏览器是一种没有图形用户界面的浏览器。无头浏览器不通过其图形用户界面(GUI)控制浏览器的操作,而是使用命令行。 为什么要用Chrome无头? Chrome Headless用于抓取(谷歌)、测试(开发者)和黑客(黑客)。搜索引擎&…

什么是无头浏览器?

无头浏览器是一种没有图形用户界面的浏览器。无头浏览器不通过其图形用户界面(GUI)控制浏览器的操作,而是使用命令行。

为什么要用Chrome无头?

  • Chrome Headless用于抓取(谷歌)、测试(开发者)和黑客(黑客)。
  • 搜索引擎,使用它来呈现页面、生成动态内容和索引来自单页Web应用程序的数据。
  • SEO工具,用来分析网站,提出如何改进的建议。
  • 监控工具,用于监控Web应用中JavaScript的执行时间。
  • 一个测试工具,用于呈现页面并将其与以前的版本进行比较,以跟踪用户界面的变化。
  • 使用Headless Chrome的主要优势在于,用户可以编写脚本以编程方式运行浏览器,并快速、大规模地执行抓取、分析或成像网站等任务,而无需打开浏览器的GUI并点击一百万个东西。
  • 要做到这一点需要三样东西:无头ChromeDevTools协议和木偶师。
  • 你已经见过Chrome Headless了。Dev ProtocolChrome DevTools的远程实例,在另一个浏览器中打开。它允许你“通过你的眼睛”看到无头Chrome,而不需要运行浏览器GUIPuppeteer是一个节点库,它为开发者提供了通过DevTools协议编程控制无头Chrome的工具。
  • 把三者结合起来,就可以用Headless Chrome编写重复的大规模动作脚本,并快速大规模运行。

安装chrome浏览器并测试

基本上每个程序员都会安装chrome浏览器,如果没有安装的可以去下载安装,安装好之后,可以直接利用chrome浏览器执行无头浏览器的命令,假设chrome浏览器安装路径是: C:\Users\administrator\AppData\Local\Google\Chrome\Application\chrome.exe,可以执行如下命令

C:\Users\best5\AppData\Local\Google\Chrome\Application\chrome.exe --headless --hide-scrollbars --disable-gpu --screenshot=e:\chrome.jpg  --window-size=1280,1696 https://www.baidu.com

会生成一个chrome.jpg文件

Docker运行

  • 拉取镜像: docker pull browserless/chrome:latest
  • 运行容器: docker run -p 3000:3000 browserless/chrome:latest
  • 使用浏览器访问: http://localhost:3000/
    在这里插入图片描述

看起来很厉害的样子

k8s部署

  • 编写部署ymal文件,并命名browserless-chrome.yaml
---
apiVersion: v1
kind: Service
metadata:name: browserless-chromenamespace: kube-publiclabels:app: browserless-chrome
spec:type: NodePortports:- name: websocketport: 30000targetPort: 3000nodePort: 30000selector:app: browserless-chrome
---
apiVersion: apps/v1
kind: Deployment
metadata:name: browserless-chromenamespace: kube-public
spec:replicas: 1revisionHistoryLimit: 0 #Replica Sets中的历史数量selector:matchLabels:app: browserless-chrometemplate:metadata:labels:app: browserless-chromespec:containers:- name: browserless-chromeimagePullPolicy: Alwaysimage: browserless/chrome:latestenv:- name: PORTvalue: "3000"securityContext:runAsNonRoot: truerunAsUser: 999runAsGroup: 999ports:- containerPort: 3000livenessProbe:tcpSocket:port: 3000initialDelaySeconds: 5failureThreshold: 2periodSeconds: 60readinessProbe:tcpSocket:port: 3000initialDelaySeconds: 5periodSeconds: 10startupProbe:tcpSocket:port: 3000failureThreshold: 30periodSeconds: 10resources:requests:cpu: 0.2memory: 300Milimits:cpu: 1memory: 1GiimagePullSecrets:- name: puller
  • kubectl apply -f browserless-chrome.yaml

把镜像推送到私有仓库

  • 给镜像重新打标签: docker tag browserless/chrome:latest xxx.cn/base/browserless-chrome:latest
  • 推送到私有仓库: docker push imgsreg.ipipa.cn:20443/base/browserless-chrome:latest

Java调用示例

  • pom.xml中添加以下依赖
<dependency><groupId>io.github.fanyong920</groupId><artifactId>jvppeteer</artifactId><version>1.1.5</version>
</dependency>
  • 使用本地chrome程序调用示例代码
public class BrowserTest {@SneakyThrows@Testvoid test() {//自动下载,第一次下载后不会再下载
//        BrowserFetcher.downloadIfNotExist(null);ArrayList<String> arrayList = new ArrayList<>();//生成pdf必须在无头模式下才能生效LaunchOptions options = new LaunchOptionsBuilder().withExecutablePath("C:\\Users\\administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe").withArgs(arrayList).withHeadless(true).build();arrayList.add("--no-sandbox");arrayList.add("--disable-setuid-sandbox");Browser browser = Puppeteer.launch(options);Page page = browser.newPage();page.goTo("https://www.baidu.com");PDFOptions pdfOptions = new PDFOptions();pdfOptions.setPath("test.pdf");page.pdf(pdfOptions);page.close();browser.close();}
}
  • 使用wetsocket远程调用chrome示例代码
public class BrowserTest {@SneakyThrows@Testvoid test() {//自动下载,第一次下载后不会再下载
//        BrowserFetcher.downloadIfNotExist(null);ArrayList<String> arrayList = new ArrayList<>();//生成pdf必须在无头模式下才能生效LaunchOptions options = new LaunchOptionsBuilder().withArgs(arrayList).withHeadless(true).build();arrayList.add("--no-sandbox");arrayList.add("--disable-setuid-sandbox");Browser browser = Puppeteer.connect(options, "ws://localhost:3000", null, null);Page page = browser.newPage();page.goTo("https://www.baidu.com");PDFOptions pdfOptions = new PDFOptions();pdfOptions.setPath("test.pdf");page.pdf(pdfOptions);page.close();browser.close();}
}

在工程目录下会生成test.pdf文件,可以打开看看效果

http://www.tj-hxxt.cn/news/88253.html

相关文章:

  • 武汉网站建设四川seo选哪家
  • 企业检索网站建设网络推广运营公司
  • 济南传承网站建设李聪网站设计专业的公司
  • 如何盗用网站模板排名优化网站建设
  • 住房和城乡建设部贰级建造师网站深圳优化服务
  • 企业网站建设与管理期末考试seo排名赚app官网
  • 网站建设制作设计营销公司杭州微营销系统
  • discuz 网站风格google官方版下载
  • 百度站长工具平台登录网络的推广方式有哪些
  • 三亚网站建设制作湖北网站建设制作
  • html5+css手机网站正规的代运营公司
  • 购物网站建设投资预算拉新推广
  • mac上如何使用wordpress优化设计电子课本
  • 东莞做网站的品牌全案营销策划
  • wordpress网站文章被插入很多黑链接目前最靠谱的推广平台
  • 做任务给佣金的网站有哪些网络推广策划方案
  • 做网站的软件多少钱自己搭建一个网站
  • java网站开发的书籍核心关键词和长尾关键词
  • 商业网站建立长春seo关键词排名
  • 网站分析设计做的项目的过程黑帽seo技术培训
  • 网站建设逻辑推广吧
  • 社交网站制作关键词查网站
  • java做网站的步骤百度优化seo
  • 网站建设 系统 排名合肥网络推广营销
  • 查看网站用什么软件做的百度点击快速排名
  • 广州网站优化平台最吸引人的营销广告词
  • 情侣手表网站模板网站建设
  • 建设工程施工安全网站下载百度地图2022最新版官方
  • 网站用哪些系统做的网络营销公司简介
  • 淘宝店采用哪些方法做网站推广seo教学免费课程霸屏