首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用puppeteer抓取受限网站

    安装Puppteer npm install --save puppeteer 选择目标网站 我们这里选择胡子大哈大神的网站 http://huziketang.mangojuice.top ; 爬取所有文章...基本思想思路 实现方案 爬取书籍目录->根据目录爬取没个章节的内容 注意的地方 本书有付费章节和免费章节,爬取付费章节需要禁用javascript执行,然后移除对应的mask的dom节点 核心代码...const path = require('path'); const fs = require('mz/fs'); const puppeteer = require('puppeteer');...`); } //启动程序 const start = async () => { //创建一个browser 实例 let browser = await puppeteer.launch...browser.newPage(); //设置禁用js,当前必须设置,否则会导致页面无法处理 //说明:只是禁用page原有javascript,但是page.evaluate 中可以继续使用

    3.4K130

    Linux下如何安装使用puppeteer

    诸如此类的报错,虽然知道是和puppeteer的安装有关, 但是一直没找到如何在Linux下正确的安装(Windows下如果使用npm安装不成功,可以使用cnpm安装), 以下是在掘金上找到的一个方法,...1、先将项目上传到Linux下,然后先npm install安装项目所需依赖,会报错cannot find module 'puppeteer',接下来开始安装puppeteer 2、忽略Chromium...安装puppeteer npm install puppeteer --ignore-scripts --save 3、下载一个Chromium放到指定位置 3.1 在node_modules/puppeteer...运行程序后报错,我在2020-4-23安装的puppeteer时版本已经是3以上了,安装的Chromium版本是737027,在网上查了很多资料都没有找到解决办法,最后决定回退到puppeteer@2.1.1...,因为此时的Chromium版本是722234 1)删除puppeteer npm uninstall puppeteer 2)重新安装2.1.1版本的puppeteer npm install puppeteer

    16.4K10

    使用puppeteer 进行批量网页截图

    pageSize控制一次最多打开多少个页面 防止网页过多占用内存过多 配置里的'--proxy-server=socks5://127.0.0.1:1080' 是用来走本地小飞机代理的 const puppeteer...= require('puppeteer'); var fs = require('fs'); var readline = require('readline'); const crypto = require...---- 第二版 由于第一版 虽说是一次打开多个标签页了,但是实质上还是和串行一个个打开没有区别,我在page的load事件上也没有找到能保存当前页面上下文并使其在后面可选择使用的好办法。...所以不如直接使用串行 由于截图任务要的是准确第一 速度第二 所以改为串行也未尝不可 主要改动的地方就是snp()方法 并且删掉了pageSize这个常量 async function snp(arr){...:' + (endTime-startTime)/1000 + 's'); } 为什么使用--start-maximized这个参数:有些网页在最大化下和它默认大小下 截出来的图片不一样 默认尺寸下可能会出现拼接的情况

    2.9K40

    使用 Puppeteer + canvas + WebCodecs 来代替 ffmpeg

    来源:Demuxed 2021 主讲人:Collin Miller 内容整理:冯冬辉 Screencastify 的网页视频编辑器使用 ffmpeg 和它的 filter graph 作为渲染引擎,但是这导致了用户界面在预览渲染输出上的重复工作...如图所示,这里有三条记录,每一条都描述了从源胶带到目标胶带的时间段,以及使用哪个源。EDL 做的就是将源中所需的时间段,映射到输出上。...将 EDL 映射到 ffmpeg 该编辑器也使用 ffmpeg 的 complex filters 做图像操作,例如 裁剪、组装、模糊等操作。...讲者发现,将原始编码的 H264 帧从 Puppeteer 实例上传到正在运行 Puppeteer 的节点服务器上会更容易。...问题在于,WebCodecs 使用的一些编解码器只有在硬件渲染器(GPU)可用时才可用,而在 Puppeteer 无头浏览器的环境下无法工作。

    3K20

    puppeteer的使用教程1 - 基本用法

    Puppeteer到底如何使用呢?使用的时候又有哪些坑呢?请听老高一一道来! 本篇是第一篇,主要让大家对Puppeteer有一个基本的概念!...官网和工具 github/GoogleChrome/puppeteer npmjs puppeteer文档 try-puppeteer 可以在线测试你的脚本 taobao镜像 由此可见,想要使用puppeteer...准备工作 nodejs的安装老高就不多说了,不过老高要啰嗦的是chromium的下载: 最好在安装puppeteer之前就下载解压好chromium,当然你也可以默认使用自带的浏览器。...执行安装脚本时如果程序没有找到chromium,会执行自动下载流程,这时如果检测到有PUPPETEER_SKIP_CHROMIUM_DOWNLOAD这个环境变量,就不会下载了。...所以可以先执行export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true,再执行npm install命令。

    2.1K30

    使用Puppeteer进行游戏数据可视化

    本文将介绍如何使用Puppeteer进行游戏数据的爬取和可视化,以《英雄联盟》为例。概述《英雄联盟》是一款由Riot Games开发和运营的多人在线竞技游戏,拥有数亿玩家和观众。...为了了解每个英雄的热度和胜率,我们可以使用Puppeteer爬取官方网站上的数据,并用ECharts进行可视化。...正文要使用Puppeteer进行爬虫,我们需要先安装Node.js和Puppeteer库。...,并设置视口大小访问《英雄联盟》官方网站上的英雄列表页面等待页面加载完成,并获取所有英雄的名称、热度和胜率将数据保存到一个数组中,并按照热度排序创建一个HTML文件,用来显示数据可视化的结果使用ECharts...和ECharts模块const puppeteer = require('puppeteer');const echarts = require('echarts');// 创建一个浏览器实例,并设置代理

    48130

    使用 Puppeteer 搭建统一海报渲染服务

    实现一个公共的海报渲染服务,使用方只需传入海报图片的 html,海报渲染服务绘制一张对应的图片作为返回结果,解决了 canvas 绘制的各种痛点问题。...二、Puppeteer 能做什么 Puppeteer 几乎能实现你能在浏览器上做的任何事情,比如: 生成页面的屏幕截图或 pdf 自动化提交表单、模拟键盘输入、自动化单元测试等 网站性能分析:可以抓取并跟踪网站的执行时间轴...最开始一个版本我们是直接 Puppeteer.launch()返回一个浏览器实例,每次绘制会用单独的一个浏览器实例,这个在使用过程中发现绘制海报会很慢,后面优化时找到了这篇文章:Puppeteer 性能优化与执行速度提升...page.screeshot(options); 3.2.2 networkidle0 最开始我们的海报服务绘制海报时有时候会偶尔出现图片展示不出来的情况,我们排查后发现是因为我们 setContent 时,使用的是默认的...相关链接: Puppeteer 性能优化与执行速度提升:https://blog.it2048.cn/article-puppeteer-speed-up/ Control networkidle wait

    1.7K20

    使用node+puppeteer+express搭建截图服务

    使用node+puppeteer+express搭建截图服务 转载请注明出处https://www.cnblogs.com/funnyzpc/p/14222807.html 写在之前 一开始我们的需求是打开报表的某个页面然后把图截出来...Number(request.query.height) }); // 这里执行登录操作...express [注意:如果安装失败 请检查是否更改为taobao源] 启动及管理 直接使用node启动服务 node index.js 使用pm2启动(如果安装了pm2) 启动:pm2 start...index.js 进程:pm2 list 删除:pm2 delete 应用ID 使用 由于以上代码已经对截图的加载做过处理的,所以无需在使用线程睡眠 同时代码也对宽度(width)和高度(height...login=[是否登录true or false]&width=[页面宽度]&height=[页面高度]&url=[截图地址] 最后 虽然我们我们使用puppeteer能应对绝大多数报表,后来发现puppeteer

    1.8K20

    使用Puppeteer进行UI自动化测试

    Puppeteer是一个Node库,提供了一种高级API来通过DevTools协议控制Chrome或Chromium。在这篇文章中,我们将详细介绍如何使用Puppeteer进行UI自动化测试。...什么是Puppeteer Puppeteer是Google Chrome团队官方的无头浏览器库,无头浏览器是一种没有图形用户界面的浏览器。...安装Puppeteer 安装Puppeteer相对简单,只需要运行以下命令: npm i puppeteer 示例:使用Puppeteer进行UI自动化测试 以下是一个示例代码,用Puppeteer进行...GitHub自动登录: const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch...这仅是示例代码,你在使用时需确保信息的安全。 结论:Puppeteer是一个强大的工具,能够控制Chrome或Chromium执行大多数用户在浏览器中的操作。

    93820

    Puppeteer自动化:使用JavaScript定制PDF下载

    其中,生成PDF文件是一个常见的需求,本文将通过使用Puppeteer展示如何自动化生成定制的PDF,并使用代理IP、设置user-agent、cookie等技术来增强自动化过程的灵活性与稳定性。...Puppeteer生成PDF的基本步骤安装Puppeteerundefined首先,需要确保Node.js环境已安装。...通过以下命令安装Puppeteer:npm install puppeteer配置代理IPundefined在复杂的爬虫任务中,使用代理IP是避免IP被封的常用手段。...示例代码const puppeteer = require('puppeteer');// 爬虫代理加强版配置const proxyConfig = { domain: 'proxy.16yun.cn...; // 关闭浏览器 await browser.close();})();代码解读代理配置:undefined使用args参数指定代理服务器,并通过page.authenticate()方法进行代理认证

    61210
    领券