0
点赞
收藏
分享

微信扫一扫

Kali下的proxyPool使用教程

野见 2022-04-20 阅读 72
安全

安装并启动redis服务

使用proxyPool前,先下载安装好redis服务,过程如下:

1、下载:wget http://download.redis.io/releases/redis-4.0.11.tar.gz
2、解压:tar -zxvf redis-4.0.11.tar.gz
3、进入redis目录:cd redis-4.0.11
4、编译:make
5、修改redis.conf配置文件:
	注销 bind 127.0.0.1
	修改保护模式 protected-mode no
	修改守护进程 daemonize no
	使用无密码登录:看到requirepass那行被注销掉就好
6、进入src目录,启动redis-server服务:./redis-server
7、另起终端,启动redis客户端,验证服务是否正常开启(还是在src目录下):./redis-cli

在这里插入图片描述
在这里插入图片描述

下载proxyPool并运行

克隆proxyPool项目,配合文档使用,过程如下:

方法一:
1、克隆GitHub项目:git clone https://github.com/jhao104/proxy_pool.git
2、进入目录:cd proxy_pool
3、安装依赖:pip install -r requirements.txt
4、配置setting.py:修改DB_CONN 那一项为无密码登录
	DB_CONN='redis://@127.0.0.1:6379/0'
5、启动调度程序:python3 proxyPool.py schedule
6、启动webApi服务:python3 proxyPool.py server

----------------------------------------------
方法二:
1、docker拉取项目:docker pull jhao104/proxy_pool
2、docker运行:
	docker run --env DB_CONN=redis://@127.0.0.1:6379/0 -p 5010:5010 jhao104/proxy_pool:2.4.0

在这里插入图片描述
在这里插入图片描述

检验proxyPool运行效果

用官方给的测试小栗子进行检验,代码如下:

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:
            # 使用代理访问 :访问baidu.com作为例子
            html = requests.get('http://www.baidu.com', proxies={"http": "http://{}".format(proxy)})
            return html
        except Exception:
            retry_count -= 1
            # 删除代理池中代理
            delete_proxy(proxy)
    return None


info=getHtml()
print(info)

命名为proxy.py,另起一终端运行该文件,如下,返回200状态码,则使用代理访问成功。
在这里插入图片描述
参考:
Kali安装redis 🌹
proxyPool用户指南 🌹
Linux安装部署Redis(超级详细) 🌹

举报

相关推荐

0 条评论