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

puppeteer代理的搭建和配置

puppeteer代理的搭建和配置

本文深入探讨了Puppeteer在网络爬虫和自动化测试中的重要角色,着重介绍了如何搭建和配置代理服务器,以优化Puppeteer的功能和性能。文章首先介绍了Puppeteer作为一个强大的Headless浏览器自动化工具的优势和应用场景,然后着重探讨了为Puppeteer配置代理服务器的必要性,以及不同代理类型的选择。接着,文章详细阐述了搭建代理服务器的步骤,包括常见的代理服务器软件选择、配置和设置。最后,通过实例和技巧分享,读者将获得在实际项目中成功使用Puppeteer代理的关键知识和经验。本文旨在为读者提供一份全面指南,使他们能够在使用Puppeteer时灵活运用代理,从而更好地应对网络数据采集和测试挑战

puppeteer代理的搭建

搭建环境:LInux + Docker

代理镜像选择tinyproxy

docker pull dannydirect/tinyproxy

启动容器
tinyproxy有两种模式,1、允许无限制的代理访问 2、允许特定 IP 地址访问代理

#允许无限制的代理访问
docker run -d --name='tinyproxy'  -p 8888:8888 dannydirect/tinyproxy:latest ANY# 允许特定 IP 地址访问代理
docker run -d --name='tinyproxy' -p 8888:8888 dannydirect/tinyproxy:latest 87.115.60.124# 允许多个特定 IP 地址访问代理
docker run -d --name='tinyproxy' -p 8888:8888 dannydirect/tinyproxy:latest 10.103.0.0/24 192.168.1.0/24

没有特殊要求直接使用第一个就行了。
查看日志出现下面表示成功
在这里插入图片描述除了 dannydirect/tinyproxy,还有一些常见且广泛使用的代理服务器软件。以下是一些比较流行的代理服务器:

Squid Proxy:Squid 是一个功能强大的代理服务器软件,支持 HTTP、HTTPS、FTP 等协议。它是一个高性能的缓存代理服务器,广泛用于代理、缓存和加速 Web 请求。Squid 是开源免费的,可在多种操作系统上运行。

Nginx:Nginx 是一种高性能的 Web 服务器,但它也可以配置为反向代理服务器。通过配置 Nginx,你可以将来自客户端的请求代理到后端服务器,并充当代理服务器的角色。Nginx 是免费开源的,并且在 Web 服务器和代理服务器领域非常流行。

HAProxy:HAProxy 是一个高性能的 TCP/HTTP 负载均衡器和代理服务器。它支持多种负载均衡算法和健康检查,常用于将来自客户端的请求转发到多个后端服务器。HAProxy 也是免费开源的。

Privoxy:Privoxy 是一个用于保护用户隐私和过滤网页内容的非缓存 Web 代理服务器。它允许用户控制代理服务器的行为,并可以过滤广告和其他不良内容。Privoxy 是开源免费的,并适用于多个平台。

Tinyproxy:除了 dannydirect/tinyproxy,还有其他的 Tinyproxy 变种,例如 tinyproxy/tinyproxy。Tinyproxy 是一个轻量级的、高性能的匿名 HTTP/HTTPS 代理服务器。它易于配置和使用,并支持 ACL 和用户认证等功能。

这些代理服务器都有不同的特点和用途,你可以根据自己的需求选择合适的代理服务器。如果你只是需要简单的 HTTP 代理,dannydirect/tinyproxy 或其他 Tinyproxy 变种可能已经足够满足你的需求。如果需要更复杂的功能,如负载均衡、反向代理、缓存等,可以考虑使用 Squid、Nginx 或 HAProxy 等更强大的代理服务器。

puppeteer代理配置

    const proxyIp = '118.31.x.xxx';const proxyPort = '8888';const proxyUrl = `http://${proxyIp}:${proxyPort}`;const instance = await puppeteer.launch({args: [`--proxy-server=${proxyUrl}`]});

代理的配置非常简单,就是在浏览器启动是添加参数。

测试

使用配置了代理的puppeteer去使用

await page.goto("https://www.amazon.com/", {waitUntil: 'domcontentloaded', timeout: 60000});

可以看到正常使用

在这里插入图片描述

相关文章:

puppeteer代理的搭建和配置

puppeteer代理的搭建和配置 本文深入探讨了Puppeteer在网络爬虫和自动化测试中的重要角色,着重介绍了如何搭建和配置代理服务器,以优化Puppeteer的功能和性能。文章首先介绍了Puppeteer作为一个强大的Headless浏览器自动化工具的优势和应用场景&#xf…...

【简单认识MySQL的MHA高可用配置】

文章目录 一、简介1、概述2、MHA 的组成3.MHA 的特点4、MHA工作原理 二、搭建MHA高可用数据库群集1.主从复制2.MHA配置 三、故障模拟四、故障修复步骤: 一、简介 1、概述 MHA(Master High Availability)是一套优秀的MySQL高可用…...

【云原生】一文学会Docker存储所有特性

目录 1.Volumes 1.Volumes使用场景 2.持久将资源存放 3. 只读挂载 2.Bind mount Bind mounts使用场景 3.tmpfs mounts使用场景 4.Bind mounts和Volumes行为上的差异 5.docker file将存储内置到镜像中 6.volumes管理 1.查看存储卷 2.删除存储卷 3.查看存储卷的详细信息…...

Android Ble蓝牙App(一)扫描

Ble蓝牙App(一)扫描 前言正文一、基本配置二、扫描准备三、扫描页面① 增加UI布局② 点击监听③ 扫描处理④ 广播处理 四、权限处理五、扫描结果① 列表适配器② 扫描结果处理③ 接收结果 六、源码 前言 关于低功耗的蓝牙介绍我已经做过很多了&#xff0…...

mac pd安装ubuntu并配置远程连接

背景 一个安静的下午,我又想去折腾点什么了。准备学习一下k8s的,但是没有服务器。把我给折腾的,在抱怨了:为什么M系列芯片的资源怎么这么少。 好在伙伴说,你可以尝试一下ubantu。于是,我只好在我的mac上安…...

1.3 eureka+ribbon,完成服务注册与调用,负载均衡源码追踪

本篇继先前发布的1.2 eureka注册中心,完成服务注册的内容。 目录 环境搭建 采用eurekaribbon的方式,对多个user服务发送请求,并实现负载均衡 负载均衡原理 负载均衡源码追踪 负载均衡策略 如何选择负载均衡策略? 饥饿加载…...

mysql修改字段长度是否锁表

Varchar对于小于等于255字节以内的长度可以使用一个byte 存储。大于255个字节的长度则需要使用2个byte存储 1, 如果是255长度之内的扩展,或者255之外的扩展,则不锁表,采用in-place方式执行 2, 如果从varchar长度从(0,2…...

SpringCloud集成OpenTelemetry的实现

SpringCloud项目做链路追踪,比较常见的会集成SleuthZipKin来完成,但这次的需求要集成开源框架OpenTelemetry,这里整理下实现过程。相关文章: 【SpringCloud集成SleuthZipkin进行链路追踪】 【OpenTelemetry框架Trace部分整理】 …...

Python爬取IP归属地信息及各个地区天气信息

一、实现样式 二、核心点 1、语言:Python、HTML,CSS 2、python web框架 Flask 3、三方库:requests、xpath 4、爬取网站:https://ip138.com/ 5、文档结构 三、代码 ipquery.py import requests from lxml import etree # 请求…...

RedLock + Redisson

目录 2.9 RedLock2.9.1 上述实现的分布式锁在集群状态下失效的原因2.9.2 解决方式-RedLock 2.10 redisson中的分布式锁2.10.0 redisson简介以及简单使用简单使用redisson中的锁Redisson常用配置 2.10.1 Redisson可重入锁实现原理2.10.2 公平锁(Fair Lock&#xff09…...

计算机视觉:卷积层的参数量是多少?

本文重点 卷积核的参数量是卷积神经网络中一个重要的概念,它决定了网络的复杂度和计算量。在深度学习中,卷积操作是一种常用的操作,用于提取图像、语音等数据中的特征。卷积神经网络的优势点在于稀疏连接和权值共享,这使得卷积核的参数相较于传统的神经网络要少很多。 举例…...

Docker 容器基础操作

Docker容器基础操作 容器(container)是Docker镜像的运行实例,类似于可执行文件与进程的关系,Docker是容器引擎,相当于系统平台。 容器的生命周期 容器的基础操作(以 tomcat8.0 为例) # 拉取tomcat8.0镜像 [root@tudou tudou]# docker pull tomcat:8.0 8.0: Pulling f…...

【Vue3+Ts+Vite】配置滚动条样式

一、先看效果 二、直接上代码 <template><div class"main-container"><h1 v-for"index in 50" :key"index">这是home页面</h1></div> </template> <style lang"scss" scoped> .main-conta…...

react map使用方法详解

在React中&#xff0c;map()方法是用于数组的常见方法之一&#xff0c;它可以用于处理数组并返回一个新的数组。在React中&#xff0c;经常使用map()方法来遍历数组&#xff0c;生成对应的组件列表或进行数据转换操作。 下面是map()方法在React中的使用方法详解&#xff1a; …...

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

PoseiSwap 是 Nautilus Chain 上的首个 DEX&#xff0c;作为目前行业内模块化区块链叙事的早期奉行者&#xff0c;PoseiSwap 也得到了较高的市场关注。基于 Nautilus Chain&#xff0c;PoseiSwap 打造了一个全新的 Rollup 应用层&#xff0c;并通过零知识证明来建立全新的订单簿…...

PHP8的常量-PHP8知识详解

常量和变量是构成PHP程序的基础&#xff0c;在PHP8中常量的这一节中&#xff0c;主要讲到了定义常量和预定义常量两大知识点。 一、定义常量 定义常量也叫声明常量。在PHP8中&#xff0c;常量就是一个标识符&#xff08;名字&#xff09;&#xff0c;一旦定义&#xff08;声明&…...

印花税的本质和底层逻辑是什么?印花税降低是利好股市吗?

内容由LLM协助生成&#xff1a; 印花税是一种对特定交易或证券交易征收的税费&#xff0c;由政府机构收取。其本质和底层逻辑可以归结为以下几点&#xff1a; 资金来源&#xff1a;印花税是国家财政收入的一部分&#xff0c;用于满足政府的财政需求和公共支出。政府通过征收印花…...

pytorch+GPU跑模型时 nvrtc: error: failed to open nvrtc-builtins64_117.dll

1.先检查自己cuda版本&#xff1a; print(torch.version.cuda) #查看cuda版本 print(torch.cuda.is_available()) # 查看cuda是否可用 print(torch.cuda.device_count()) # 查看可行的cuda数目如果版本高于11建议先降版本&#xff0c;然后再试下。 2.重新安装nvrtc-builtin…...

SQL-每日一题【626.换座位】

题目 表: Seat 编写SQL查询来交换每两个连续的学生的座位号。如果学生的数量是奇数&#xff0c;则最后一个学生的id不交换。 按 id 升序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 前置知识 MySQL 的 MOD() 函数是取模运算的函数&#xff0c;它返回两个数相除…...

Swagger之Hello World !

目录 ■1&#xff0e;前言・Swagger介绍 ■2&#xff0e;例子&#xff0c;如果基于Spring Boot项目&#xff0c;实现Swagger---非常简单 2&#xff0e;1&#xff0e;已有的SpringBoot项目 2&#xff0e;2&#xff0e;修改POM文件 2&#xff0e;3&#xff0e;添加Config文件…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现&#xff0c;包括选择排序、冒泡排序、插入排序、快速排序和归并排序&#xff0c;以及每种算法的特点和复杂度分析 1. 选择排序&#xff08;Selection Sort&#xff09; 核心思想&#xff1a;每次从未排序部分选择最小元素&#xff0c;与未排…...