前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程+自动领取每日IP+IP最优算法)

【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程+自动领取每日IP+IP最优算法)

作者头像
德宏大魔王
发布2023-08-08 13:23:43
4820
发布2023-08-08 13:23:43
举报
文章被收录于专栏:cloud stdio

前言

看过之前的博客的都知道,博主最近在捣腾芝麻代理,白嫖免费IP,对于使用方法我就不做说明了,我不是宣传人,进入正题!如果看了有不懂或有问题请评论指正!

提示:以下是本篇文章正文内容,下面案例可供参考

一、官方对接文档看不懂?

这里插一嘴,教程中的代码需要这样配置: 1、一定要是json格式 2、提取数量大于1(提取不花钱,使用才花钱) 3、属性一定要有IP:Port、过期时间 其他无所谓

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

爬虫增加代理池:使用稳定第三方芝麻代理IP 教程(详细可用)

二、白嫖免费IP,不存在每日手动领取

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

每日需要手动领取,且当天失效,贼麻烦,不动手获取看这里:

【Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程)

三、什么?IP时长不统一,如何获取最优IP?

如下图,可以看到个别时长比较短,当然你有钱,可以去开通时长长的,我用的是免费的只有0~25分钟 成品图:

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

相同的情况下随机取一个即可

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

代码如下:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import requests
import datetime
#芝麻ip时间选优算法
# 获取芝麻代理ip
    # url选择json
url = "官方给你的接口"
 # url选择json
body = {
    }
headers = {
    }
response = requests.post(url, json=body, headers=headers)
# print(response.text)
ip_data = response.json()
# print(ip_data['code'])
if ip_data['code']==0:
    print("获取芝麻代理ip成功");
    #每次读取10条记录对比,芝麻ip每日免费20个
    global excellent_ip
    global excellent_ip_port
    new_data=ip_data
    member = []
    #建立数据入口
    date1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    d1 = datetime.datetime.strptime(date1, '%Y-%m-%d %H:%M:%S')
    for geshu, val1 in enumerate(ip_data['data']):
        #获得ip个数geshu
	    print(new_data['data'][geshu])
	   # 将每个时间转换为时间戳加入新数组
	    new_time=new_data['data'][geshu]['expire_time']
	    d2 =datetime.datetime.strptime(new_time, '%Y-%m-%d %H:%M:%S')
	    d = d2-d1
	    sec= format(d.seconds);#获取秒数
	    sec=int(sec) 
	    member.append(sec)
    # print(member)
    # 冒泡排序
    member.sort(reverse=True)
    #从大到小
    print(member)
    #最优结果:
    print("最优时间结果");
    print(member[0]);
    
    #对比得到该时间的ip
    for geshu2, val2 in enumerate(ip_data['data']):
        #获得ip个数geshu
	    new_time2=new_data['data'][geshu2]['expire_time']
	    d2 =datetime.datetime.strptime(new_time2, '%Y-%m-%d %H:%M:%S')
	    d = d2-d1
	    #减去固定的时间点
	    sec= format(d.seconds);#获取秒数
	    sec=int(sec)
	    if sec==member[0]:
	        print(sec)
	        print("符合最优时间的ip及其端口:")
	        print(new_data['data'][geshu2]['ip'])
	        print(new_data['data'][geshu2]['port'])
	        excellent_ip=new_data['data'][geshu2]['ip']
	        excellent_ip_port=new_data['data'][geshu2]['port']
	        # TODO: write code...
    # TODO: write code...
else:
    print("获取ip失败");
print("最后选择结果:");
print(excellent_ip)
print(excellent_ip_port)

总结

提示:这里对文章进行总结: 本文侧重第三部分,说一下思路,将获取到的IP到期时间与当前时间比较,通过排序后选出时间最长的一个(包含相同时间)IP,在结合业务处理下即可!!

以上就是今天要讲的内容

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、官方对接文档看不懂?
  • 二、白嫖免费IP,不存在每日手动领取
  • 三、什么?IP时长不统一,如何获取最优IP?
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档