『python爬虫』ip代理池使用 协采云 账密模式(保姆级图文)

news2024/11/26 2:22:38

目录

    • 实现效果
    • 实现思路
    • 代码示例
    • 总结


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

实现效果

在官网原版demo基础上小改了一下,修正了接口错误(把2023改成2024就可以了),原版demo只能测试单个ip,我这里批量测试所有(大家也别测试太狠,浪费人家服务资源)
在这里插入图片描述


实现思路

跟客服沟通后得到测试账号.

  • 拿到proxyAPI 链接
    在这里插入图片描述
#API链接   后台获取链接地址
proxyAPI = "http://beichencsdn.user.xiecaiyun.com/api/proxies?action=getJSON&key=NP2FE94B34&count=4&word=浙江&rand=true&norepeat=false&detail=true&ltime=&idshow=true"
proxyusernm = "xxxxx"        #代理帐号
proxypasswd = "xxxxx"        #代理密码
url='https://2024.ip138.com/'
#测试ip 接口(注意2024.2.27 官网下载的demo中 这里的接口错误的,我已经把他原本的2023改成2024了,当时测试的时候卡了我半天还以为是接口的问题测了半天```)

  • 根据客服说明,账密模式可以比白名单模式快30%,大部分的ip代理池都是支持api这种的,所以这里也不研究白名单了.我们拿到的r里面就是一个json数组,包含了ip信息.
r = requests.get(proxyAPI)
  • ip信息组装后得到ip代理url
            # 组装得到单个ip url
            # 单个ip的格式 http://用户名:密码@ip地址:端口
            proxy_url = "http://" + proxyusernm + ":" + proxypasswd + "@" + p["ip"] + ":" + "%d" % p["port"]
            
  • 测试响应时间
            try:
                t1 = time.time()#计时开始
                # 使用ip代理 访问目标的ip检测网站接口
                response = requests.get(url, proxies={'http': proxy_url, 'https': proxy_url}, headers={
                    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                    "Accept-Encoding": "gzip, deflate",
                    "Accept-Language": "zh-CN,zh;q=0.9",
                    "Cache-Control": "max-age=0",
                    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
                })
                t2 = time.time()#计时结束
                print(f"成功使用代理 {proxy_url} 访问网站,时间差: {t2 - t1}")
                print(response.text)#访问网页返回的源码
            except Exception as e:
                print(f"使用代理 {proxy_url} 访问网站出错:{e}")

代码示例

批量获取ip并测试可用性

import requests
import json
import time

#API链接   后台获取链接地址
proxyAPI = "http://beichencsdn.user.xiecaiyun.com/api/proxies?action=getJSON&key=NP2FE94B34&count=4&word=浙江&rand=true&norepeat=false&detail=true&ltime=&idshow=true"
proxyusernm = "XXXXXXXX"        #代理帐号
proxypasswd = "XXXXXXXX"        #代理密码
url='https://2024.ip138.com/'      #测试ip 接口(注意2024.2.27 官网下载的demo中 这里的接口错误的,我已经把他原本的2023改成2024了,当时测试的时候卡了我半天还以为是接口的问题测了半天```)

#获取代理 IP 地址列表
r = requests.get(proxyAPI)
if r.status_code == 200:
    proxy_list = json.loads(r.text).get("result", [])
    if proxy_list:
        for p in proxy_list:
            # 组装得到单个ip url
            # 单个ip的格式 http://用户名:密码@ip地址:端口
            proxy_url = "http://" + proxyusernm + ":" + proxypasswd + "@" + p["ip"] + ":" + "%d" % p["port"]
            try:
                t1 = time.time()#计时开始
                # 使用ip代理 访问目标的ip检测网站接口
                response = requests.get(url, proxies={'http': proxy_url, 'https': proxy_url}, headers={
                    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                    "Accept-Encoding": "gzip, deflate",
                    "Accept-Language": "zh-CN,zh;q=0.9",
                    "Cache-Control": "max-age=0",
                    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
                })
                t2 = time.time()#计时结束
                print(f"成功使用代理 {proxy_url} 访问网站,时间差: {t2 - t1}")
                print(response.text)#访问网页返回的源码
            except Exception as e:
                print(f"使用代理 {proxy_url} 访问网站出错:{e}")
    else:
        print('获取0个代理IP')
else:
    print('获取代理失败')

测试单个ip(你已经知道ip和端口)同时注意ip时效性,过一会会失效.


import requests
import time

url='https://2024.ip138.com/'
proxyaddr = "xxxxxxxxxx"    #代理IP地址
proxyport = xxxxxx               #代理IP端口
proxyusernm = "xxxxxxxxx"        #代理帐号
proxypasswd = "xxxxxxxxxx"        #代理密码
#name = input();
proxyurl="http://"+proxyusernm+":"+proxypasswd+"@"+proxyaddr+":"+"%d"%proxyport

t1 = time.time()
r = requests.get(url,proxies={'http':proxyurl,'https':proxyurl},headers={
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Accept-Encoding":"gzip, deflate",
    "Accept-Language":"zh-CN,zh;q=0.9",
    "Cache-Control":"max-age=0",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"})
r.encoding='gb2312'

t2 = time.time()

print(r.text)
print("时间差:" , (t2 - t1));

下面是网上的信息,大家随便找类似的都可以,大部分的代理池调用都一样.(只实测保证本示例代码可用性,其他不保证)
在这里插入图片描述


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1494187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理软件大比拼:2024年推荐的9款软件一览

能够有效利用团队的力量并将其转化为切实解决方案的公司更有可能保持领先地位。项目管理软件是可以帮助组织实现这一目标的强大工具。本文将探讨项目管理软件的功能,并为大家介绍9款项目管理软件,为您的企业选择正确的软件时需要考虑的因素。 项目管理软…

java工程师面试宝典,springcloud微服务架构图

前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。 她又不紧不慢的问,索引为什么就能提高查询性能。 这还用问,索引…

企业计算机服务器中了faust勒索病毒怎么解密,faust勒索病毒解密流程

网络在为企业提供便利的同时,也为企业的数据安全问题带来严重威胁,网络安全是众多企业关系的主要话题,近期,云天数据恢复中心接到一大波企业的求助,企业的计算机服务器都被faust后缀勒索病毒攻击,导致企业计…

近屿智能A轮融资顺利收官,全新推出工程师与产品经理技能进阶路径

在2024年1月,上海近屿智能科技有限公司(简称近屿智能)顺利完成了其A轮融资,其中智望资本担任了主要的领投角色,金沙江创投也进行了追加投资。这次融资的成功,充分展现了近屿智能在AIGC行业中的技术领先地位…

老大语录二 谈规划

老大语录二 谈规划 我们经常要去规划一个产品在某阶段应该要做哪些功能以及舍弃哪些功能。这是一个特别复杂也特别专业的事情。很多时候在判断时往往经验主义会主导我们的决策,也常常会发生我们陷入局部某个功能的讨论来评价该功能的利弊去留。决策误判也就是在这些场景下被引…

kibana配置 dashbord,做可视化展示

一、环境介绍 这里我使用的kibana版本为7.17版本。 语言选择为中文。 需要已经有es,已经有kibana,并且都能正常访问。 二、背景介绍 kibana的可视化界面,可以配置很多监控统计界面。非常方便,做数据的可视化展示。 这篇文章&…

计算机网络 网络原理之Http

目录 1 前言2 什么是http的一次交互?3 理解“协议”二字4 认识URL4.1 简介4.2 URL的编码和解码(urlencode和urldecode) 5 抓包工具 fiddler6 http和https的区别7 http 头8 HTTP 状态码9 常见的 Http 服务器 1 前言 为什么要了解Http原理呢?因为http原理…

鸿蒙NEXT开发实战:【网络管理-数据请求】

概述 本示例仿postman输入API接口地址,获取相应数据,介绍数据请求接口的用法。 样例展示 基础信息 Http 介绍 本示例通过[ohos.net.http]等接口,实现了根据URL地址和相关配置项发起http请求的功能。 效果预览 首页结果页 使用说明 1.…

每日一练 | 华为认证真题练习Day193

1、关于永久组播地址的描述,错误的是: A. 网段内所有主机和路由器都侦听224. 0. 0.1。 B. 所有路由器都侦听224 .0 .0.2 C. 所有运行OSPF协议的路由器都侦听224.0.0.5 D. 所有运行RIP V2协议的路由器都侦听224.0.0.100 2、ISIS协议所支持的网络类型除P2P以外还有…

搭建Zabbix监控系统

概述 Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具 备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等 功能。监测的对象可以是Linux或 …

Android岗面试,面试完腾讯我才发现这些知识点竟然没掌握全

前言 H 点击领取完整开源项目《安卓学习笔记总结最新移动架构视频大厂安卓面试真题项目实战源码讲义》 i~,我是 2020 届物联网专业毕业生,现就读于杭州。谨以此文来记录我的秋招以及入门前端以来的学习历程,如有错误,希望大家能及…

逻辑代数基础(二)(卡诺图)

目录 逻辑图表示 卡诺图表示 卡诺图的标准格式 二变量卡诺图 三变量卡诺图 四变量卡诺图 卡诺图表示逻辑函数 从逻辑表达式到卡诺图 逻辑代数的三个规则 代入规则 反演规则 对偶规则 逻辑函数的化简方式 化简逻辑函数的意义 逻辑函数最简表示式的判别标准 公式化简法 并…

java工程师面试突击第二季分布式,Java多线程从基础到并发模型统统帮你搞定

面试准备 不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。 运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试: 1. 自我介绍。(介…

Windows安装MySQL8.0详细步骤

目录 一、官网下载MySQL二、将压缩包解压到没有中文和空格的目录下三、设置配置文件四、配置环境变量五、安装初始化mysql服务 一、官网下载MySQL 进入MySQL官网:https://downloads.mysql.com/archives/community/,下载 Windows (x86, 64-bit), ZIP Arch…

全连接神经网络算法原理(激活函数、前向传播、梯度下降法、损失函数、反向传播)

文章目录 前言1、全连接神经网络的整体结构:全连接神经网络模型是由输入层、隐藏层、输出层所组成,全连接神经网络结构如下图所示:全连接神经网络的每一层都是由一个一个的神经元所组成的,因此只要搞清楚神经元的本质就可以搞清楚…

Stable Diffusion 3 技术论文解读:开源能赢得文生图竞赛吗?

在大语言模型领域,闭源模型正在赢得比赛,无论是 OpenAI 还是刚刚发布新模型的 Anthropic,都是闭源模型的代表。 但在文生图领域,开源模型却表现出了足够强的竞争力。 2 周前,开源模型的代表企业 Stability AI 发布了最…

ruoyi-nbcio-plus基于多租户的flowable设计考虑

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址: http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbach…

每日学习总结20240306

每日总结 20240306 1. 断言测试判断 #include <iostream> #include <assert.h> #include <cassert> #include <stdio.h>#define STR_OK "[\x1b[1;32m OK \x1b[0m]" #define STR_FAIL "[\x1b[1;31mFAIL\x1b[0m]"…

CTP-API开发系列之柜台系统简介

CTP-API开发系列之柜台系统简介 CTP-API开发系列之柜台系统简介中国金融市场结构---交易所柜台系统通用柜台系统极速柜台系统主席与次席 CTP柜台系统CTP组件名称对照表CTP柜台系统程序包CTP柜台系统架构图 CTP-API开发系列之柜台系统简介 中国金融市场结构—交易所 我们知道提…

4.2 比多数opencv函数效果更好的二值化(python)

在这里之间写代码&#xff1a; import numpy as np import torch import torch.nn as nn import cv2#1.silu激活函数 class SiLU(nn.Module):staticmethoddef forward(x):return x*torch.sigmoid(x)#2.获得轨道的类 def railway_classes3(img,x1,x2,y1,y2):img2 img[x1:x2, y…