当前位置: 首页 > 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});

可以看到正常使用

在这里插入图片描述

http://www.lryc.cn/news/103114.html

相关文章:

  • 【简单认识MySQL的MHA高可用配置】
  • 【云原生】一文学会Docker存储所有特性
  • Android Ble蓝牙App(一)扫描
  • mac pd安装ubuntu并配置远程连接
  • 1.3 eureka+ribbon,完成服务注册与调用,负载均衡源码追踪
  • mysql修改字段长度是否锁表
  • SpringCloud集成OpenTelemetry的实现
  • Python爬取IP归属地信息及各个地区天气信息
  • RedLock + Redisson
  • 计算机视觉:卷积层的参数量是多少?
  • Docker 容器基础操作
  • 【Vue3+Ts+Vite】配置滚动条样式
  • react map使用方法详解
  • PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态
  • PHP8的常量-PHP8知识详解
  • 印花税的本质和底层逻辑是什么?印花税降低是利好股市吗?
  • pytorch+GPU跑模型时 nvrtc: error: failed to open nvrtc-builtins64_117.dll
  • SQL-每日一题【626.换座位】
  • Swagger之Hello World !
  • VSCode SSH远程连接与删除
  • 面试典中典之线程池的七大参数
  • Maven如何创建Java web项目(纯干货版)!!!
  • linux进程间通信的方式及特点
  • 京东的成功秘诀:找到自己独特而有效的商业模式
  • 全局ip代理安全吗? 手机设置全局代理方法详解
  • Clion开发Stm32之温湿度传感器(DHT11)驱动编写
  • 位操作相关的函数(C++)
  • arm 函数栈回溯
  • 30个前端开发中常用的JavaScript函数
  • 基于量子同态加密的改进多方量子私有比较