docker快速启动proxy_pool项目

这篇具有很好参考价值的文章主要介绍了docker快速启动proxy_pool项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker快速启动proxy_pool项目

项目地址:https://github.com/jhao104/proxy_pool

0x01 搭建redis

该项目是基于redis的,所以我们首先需要一个redis,这里我还是选择用docker快速启动一个

  • 端口映射出来,可用于公网
docker run -d --name redis -p 6380:6379 redis --requirepass yourpassword
  • 不端口映射,直接在vps上内部连接
docker run -d --name redis  redis --requirepass yourpassword

0x02 查看容器内ip

如果你第一步中选择了映射,呢么就可以直接跳到0x03 启动项目 中直接运行了,如果不是,那么你就需要知道启动的实例的内网ip,但是当我们docker exec 进去的时候会发现并没有相关的ip addr的环境,懒得安装了,直接在本机用如下命令

docker inspect redis

这里的redis是容器的name,在结果中找到如下所示即为容器内网ip(可与本机通信)

docker快速启动proxy_pool项目

本机可以ping通

docker快速启动proxy_pool项目

0x03 启动项目

直接替换密码,ip以及响应的端口即可,选择映射出来的话再开放防火墙策略就可以通过公网ip访问了

docker run -d --env DB_CONN=redis://:yourpassword@172.17.0.2:6379/0 -p 5010:5010 jhao104/proxy_pool:latest

docker快速启动proxy_pool项目

0x04 简单使用

  • Api

启动web服务后, 默认配置下会开启 http://127.0.0.1:5010 的api接口服务:

api method Description params
/ GET api介绍 None
/get GET 随机获取一个代理 可选参数: ?type=https 过滤支持https的代理
/pop GET 获取并删除一个代理 可选参数: ?type=https 过滤支持https的代理
/all GET 获取所有代理 可选参数: ?type=https 过滤支持https的代理
/count GET 查看代理数量 None
/delete GET 删除代理 ?proxy=host:ip
  • 爬虫使用

  如果要在爬虫代码中使用的话, 可以将此api封装成函数直接使用,例如:

import requests

def get_proxy():
    return requests.get("http://127.0.0.1:5010/get/").json()

def delete_proxy(proxy):
    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))

# your spider code

def getHtml():
    # ....
    retry_count = 5
    proxy = get_proxy().get("proxy")
    while retry_count > 0:
        try:
            html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})
            # 使用代理访问
            return html
        except Exception:
            retry_count -= 1
    # 删除代理池中代理
    delete_proxy(proxy)
    return None

剩下具体的可以去github看文档

0x05 后续

后续的话可以使用docker-compose,然后编写yml文件等等操作来实现更“自动化”文章来源地址https://www.toymoban.com/news/detail-457654.html

到了这里,关于docker快速启动proxy_pool项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在 docker 中快速启动 Apache Hive

    在伪分布式模式下,在Docker容器内运行Apache Hive,可以提供以下功能:快速启动/调试/为Hive准备测试环境。 1. 拉取镜像 从DockerHub:https://hub.docker.com/r/apache/hive/tags中拉取镜像。目前发布了3个镜像: 4.0.0-alpha-2 4.0.0-alpha-1 3.1.3 2. 配置变量 3. 启动服务 这是轻量级的,为了快速启

    2024年02月13日
    浏览(32)
  • 分享 10 个 Tailwind CSS UI 站点,助你快速启动项目

    Midjourney 创作,未来UI Tailwind CSS 是一个为快速创建定制化 UI 组件而设计的实用型框架。与其他 CSS 框架或库不同,Tailwind CSS 组件没有预先设置好样式。相反,您可以使用 Tailwind 的低级实用类来为 CSS 元素设置样式,如 margin、flex、color 等。 自从 2017 年发布以来,Tailwind CSS 在

    2024年02月06日
    浏览(40)
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目

    一、Springboot项目引入配置文件的方式: 二、docker启动SpringBoot项目饮用外部部署文件

    2024年02月09日
    浏览(43)
  • Docker快速入门和部署项目

    1,Docker是一个,快速构建、运行、管理应用的工具  。 2,前面我们了解过在Linux操作系统的常见的命令以及如何在Linux中部署一个人单体的项目。感受如何呢??? 命令太多了,记不住 软件安装包名字复杂,不知道去哪里找 安装和部署步骤复杂,容易出错 3, 这就是我今天

    2024年04月12日
    浏览(31)
  • Docker快速部署springboot项目

    有很多开发者在项目部署过程中都会遇到一些繁琐的问题,比如打包、上传、部署等。而使用Docker可以非常方便地解决这些问题。在本文中,将详细讲解如何使用IDEA中的docker打包插件,将代码打包并直接发布到服务器上。这样,我们就可以非常快速地完成项目的部署。当然,

    2024年02月06日
    浏览(47)
  • springboot 项目非docker 部署自动启动

    springboot 项目非docker 部署,需要杀死进程重新启动,并打印对应的日志,以下是一个好用的shell脚本。

    2024年02月06日
    浏览(41)
  • Docker 快速部署Springboot项目(完整详细版)

    Docker 安装 (完整详细版) Docker 日常命令大全(完整详细版)  1、项目准备 1.1 新建一个springboot项目 1.2 打包 2、编写Dockerfile文件 将jar包和 Dockerfile 文件放在上传到同一空目录下  3、执行镜像打包 查看镜像 java8镜像:启动springboot需要jdk的支持,所以直接拉取 java8 镜像即可 dock

    2024年02月11日
    浏览(46)
  • docker启动的jenkins拉取gitee项目构建并部署

    https://hub.docker.com/r可以search不同的jenkins版本 docker pull jenkins/jenkins 创建挂载目录 /home/jenkins_home 加权限 chmod 777 /home/jenkins_home docker run -di --name=jenkins -p 9999:8080 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:latest 参数解读 7.打开浏览器访问jenkins localhost:9999 7. 可直接访问宿主机的目

    2024年02月11日
    浏览(52)
  • IDEA快速部署Spring Boot 项目到Docker

    我们通常使用TCP的方式连接Docker,所以我们需要配置Docker并开放端口,如果是本地虚拟机,可以简单使用http的方式进行连接(不建议),如果你是远程服务器,请 务必采用安全的连接方式(https) ; 自己的虚拟机 如果是自己的虚拟机,可以不需要创建CA证书。可以使用 http://ip:端

    2023年04月10日
    浏览(43)
  • 【项目设计】高并发内存池(Concurrent Memory Pool)

    目录 1️⃣项目介绍 🍙项目概述 🍙知识储备 2️⃣内存池介绍 🍙池化技术 🍙内存池 🍙内存池主要解决的问题 🍥内碎片 🍥外碎片 🍙malloc 3️⃣ 定长内存池设计 4️⃣ 项目整体框架实现 5️⃣Thread Cache设计 🍙自由链表 🍙对齐映射规则设计 🍥对齐大小计算 🍥映射桶号

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包