IP代理池的使用

IP代理池的使用参考书籍:python3网络爬虫开发与实战作者个人博客:https://cuiqingcai.com/下载IP代理池的程序,其作者放在了GitHub:https://github.com/Python3WebSpider/ProxyPool需要的工具:pycharm、各种库、python37、redis安装、redis可视化工具(在参考书籍作者博客中都有安装方法)1、下载IP…

大家好,又见面了,我是你们的朋友全栈君。

参考书籍:python3网络爬虫开发与实战     作者个人博客https://cuiqingcai.com/

下载IP代理池的程序,其作者放在了GitHubhttps://github.com/Python3WebSpider/ProxyPool

需要的工具:pycharm、各种库、python37、redis安装、redis可视化工具(在参考书籍作者博客中都有安装方法)

1、下载IP代理池的安装包,压缩用pycharm打开点击File->Open->选择你刚下载的代理池的文件夹->New Window,等待片刻

IP代理池的使用IP代理池的使用

2、点击pycharm里的命令行(Terminal),输入python run.py,运行代码,可以看到正在爬取ip

IP代理池的使用

IP代理池的使用

3、打开redis数据库可视化工具,能看到爬取的ip存在数据库中,在浏览器中输入http://127.0.0.1:5555/random,可以打印出redis中的其中一个可用的IP

IP代理池的使用

IP代理池的使用IP代理池的使用

4、在pycharm中新创建一个.py文件,请求该http://127.0.0.1:5555/random,在下面图中可以看到能打印出IP地址

IP代理池的使用

5、现在我们用代理池的IP来请求我们需要的网址,运行过后可以看到IP地址是你数据库中的IP地址,说明代理成功

import requests

PROXY_POOL_URL = 'http://localhost:5555/random'

def get_proxy():
    try:
        response = requests.get(PROXY_POOL_URL)
        if response.status_code == 200:
            return response.text
    except ConnectionError:
        return None

def get():
    proxy = get_proxy()
    proxies = {
        'http': 'http://' + proxy,
        'https': 'https://' + proxy
    }

    try:
        response = requests.get('http://httpbin.org/get', proxies=proxies)
        print(response.text)
    except requests.exceptions.ConnectionError as e:
        print('Error', e.args)

if __name__ == '__main__':
    get()

IP代理池的使用

注意点:请求redis中的IP的时候,IP代理池不能关闭,如果关闭,则不会获取到redis中的IP

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142090.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LSTM时间序列预测及网络层搭建[通俗易懂]

    最近看到一篇博客,是时间预测问题,数据和代码的原地址在这里,https://www.jianshu.com/p/5d6d5aac4dbd下面只是对其复现和思考:首先关于数据预处理的问题,大家可以参考:https://blog.csdn.net/lilong117194/article/details/82911073这里的问题是:给你一个数据集,只有一列数据,这是一个关于时间序列的数据,从…

    2022年4月7日
    431
  • 安卓_数据库泄露_安卓数据库app

    安卓_数据库泄露_安卓数据库app今天遇到系统提示数据库泄露了不过找了好久也m

    2022年9月19日
    0
  • 解决pycharm中使用pip安装numpy失败的问题「建议收藏」

    解决pycharm中使用pip安装numpy失败的问题「建议收藏」今天使用pycharm编译python程序时,由于要调用numpy包,但又未曾安装numpy,于是就根据pycharm的提示进行安装,最后竟然提示出错!!!如下图:这不是要让我回归命令行的生活吗?!解决方案如下:1、下载numpy-1.19.5-cp39-cp39-win_amd64.whl,网址是https://pypi.org/project/numpy/#files2、将下载好的numpy文件放在python安装路径下的/scripts中3、在命令行状态下切换到script

    2022年8月29日
    2
  • Spring源码之Async注解

    Spring源码之Async注解spring@Async注解的处理

    2022年7月27日
    4
  • pycharm创建环境_pycharm设置默认开头

    pycharm创建环境_pycharm设置默认开头模版:#!/usr/bin/envPython3#-*-coding:utf-8-*-#@Author:zsc#@FILE:${NAME}.py#@Time:${DATE}${TIME}#@Software:${PRODUCT_NAME}示例:#!/usr/bin/envPython3#-*-codi…

    2022年8月27日
    0
  • Java递归详解_java难不难学

    Java递归详解_java难不难学学习目标:提示:这里可以添加学习目标例如:一周掌握Java入门知识学习内容:提示:这里可以添加要学的内容例如:1、搭建Java开发环境2、掌握Java基本语法3、掌握条件语句4、掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、周一至周五晚上7点—晚上9点2、周六上午9点-上午11点3、周日下午3点-下午6点学习产出:提示:这里统计学习计划的总量例如:1、技术笔记2遍2、CSDN技术博客3篇

    2022年9月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号