当前位置:   article > 正文

【万能技巧】IP知识速通与小技巧~_ipidea

ipidea

在这里插入图片描述

前言

各位友友,大家好,马上就到2024年了,由衷的问一句:“今年,你用的IP代理好用吗?”。

相信很多友友在日常生活中经常遇到一些奇奇怪怪的需求,这些需求就需要我们用上IP代理,那么这个时候,一款好用且强大的IP平台就显得非常重要了!

https://co.ipidea.net/?utm-source=csdn&utm-keyword=?1130
  • 1

一、网络代理IP简介

网络代理IP最常用的场景有哪些呢?这里结合IPIDEA可以提供的IP服务给大家列举几个企业级常见的需求场景:
在这里插入图片描述

  1. 爬虫与数据采集:采集抓取全球网站的开放数据,创造信息价值。网络爬虫用于从互联网上收集数据,但现在许多网站基本都会对频繁的请求采取反爬虫措施,如验证码。那么我们通过使用代理IP(或者IP池),爬虫就可以轮流使用不同的IP地址发送请求。经常写爬虫的小伙伴应该知道,有些时候管理爬虫的脚本是一件非常繁琐的事情,但是IPIDEA可以帮助我们使用常用的脚本,通过无限连接来帮助使用者拓展业务,从而实现更精准、更稳定的数据采集,让您轻松获取全球公开数据。

  2. 社媒账号注册管理:在社交媒体的竞争激烈的环境中,IPIDEA为用户提供了一种全方位搭建引流矩阵的解决方案,使用IPIDEA可以帮助用户轻松创建和管理多个社交媒体账户,将企业的影响力扩展至全球范围,覆盖广泛的消费者人群,企业能够实时掌握主流社交平台的最新趋势,以更具前瞻性的视角制定营销策略。通过多账户管理,企业可以灵活地推出不同风格和内容的营销活动,更好地满足不同受众的需求。

  3. 市场调查:在市场调查领域,IPIDEA脱颖而出的能力在于其全球范围内能够从各个国家地区访问,并使用全球数千万住宅IP。通过稳定可靠的住宅代理,IPIDEA能够帮助企业快速获取最新市场数据,为企业决策提供科学而可信的依据,使得企业可以深入跟踪新的市场趋势,准确把握跨境电商等领域的商机。这种高效性和专注度的提升,对于企业的长远发展和竞争力的提升至关重要,成为了企业决策制定中不可或缺的战略工具,可以对市场更迅速地做出反应,更灵活地调整经营策略,从而在竞争激烈的商业环境中脱颖而出。IPIDEA为企业提供了一种高效、可靠、创新的市场调查解决方案,助力企业在不断变化的市场中保持领先地位。

二、IPIDEA

2.1 多种类型IP代理

IPIDEA提供多种类型的代理,基本上能够满足各种数据收集的代理需求了。
比如说动态住宅、静态住宅、数据中心等等,都是高效稳定的,能够满足各种业务需求和进行企业级定制化解决方案~

对于动态住宅代理来说:动态住宅代理的IP地址是动态分配的,可以api提取或者账密认证获取IP,IP可以一次一换,也可以根据需要设置时效自动切换。适用于一般的网络浏览、社交媒体使用,以及对IP切换需求频繁的场景。同时IPIDEA支持全球混拨与无限并发会话。

静态住宅代理顾名思义则是指IP地址是静态的,在一段时间内保持不变,由代理服务提供商分配。适用于需要长时间保持相同IP地址的应用,如长时间登录、需要IP白名单访问的场景。IPIDEA的静态住宅代理将提供城市级的精准定位,以保证精准的完成需求。~

又比方说“数据中心代理”,用户可以独享数据中心,也就是独享IP资源,能够个人专享,并且无限带宽和不限制并发,按IP个数计费,不额外收取费用~这个适用于大规模数据采集、爬虫、测试、访问高频站点等需要大量IP、速度和稳定性要求较高的场景。

在这里插入图片描述

2.2 海量纯净代理池

IPIDEA的代理网络以真实的家庭住宅IP为基础,这种独特的架构保证了其代理服务的真实性和稳定性。同时IPIDEA也与全球众多国家的网络运营商展开深度合作,建立了强大的伙伴关系网络,确保代理IP的地域覆盖和质量。IPIDEA的IP数量持续增长,每天都会进行更新,新增数百万纯净IP资源,以满足用户对于多样化、高质量IP的需求。

为了确保提供的代理资源质量,IPIDEA采用了多种去重模式,从而有效地防止提取的IP重复出现。这种精心设计的机制不仅保证了代理资源的纯净性,也提高了资源的可用性。用户可以放心地使用IPIDEA的代理服务,无需担心遇到重复或无效的IP地址,确保了高质量和高可用率的代理资源供应!

在保证快速的响应时间的前提下,IPIDEA可以做到连接率>98%,准确率>98%!

在这里插入图片描述

2.3 稳定高效数据收集架构

IPIDEA已经为许多家企业带来了显著的成本节约,而且还在推动企业全球数据业务的持续发展中发挥着关键的作用。IPIDEA支持HTTP、HTTPS、Socks5等多种协议,为IPIDEA的使用用户提供了极大的灵活性和选择自由。此外,还提供多语言脚本支持,让用户能够根据自身需求轻松地定制和管理代理服务。

这一全面而灵活的服务架构,确保用户在使用IPIDEA代理时能够快速地建立、维护稳定的连接,为其数据业务提供了高效而可靠的支持。也可以做到城市级的精准且精确的定位、无限并发请求!同时也方便各位用户进行便捷的集成。通过为企业提供多样化的协议支持和脚本工具,IPIDEA致力于满足不同行业和应用场景的需求,为客户的业务发展赋能。

在这里插入图片描述

三、IP实操小Tips

可能还有很多小伙伴不太懂IP、IP代理的意思,那么我给各位看官简单介绍一些常用的IP与IP代理小知识。

3.1 查看本地网络IP

如何快速查看自己电脑的本地网络IP地址呢,通过以下命令即可~

curl ipinfo.io
  • 1

在这里插入图片描述
输入这个命令之后我们可以得到一个包含json的数据文本:
响应是一个包含 JSON 格式数据的文本,包括以下信息:

  • “ip”: “113.xxxx”:表示查询的IP地址为 “113.xxxx.5”。
  • “city”: “Shenzhen”:表示IP地址所在城市是深圳。
  • “region”: “Guangdong”:表示IP地址所在的省份是广东。
  • “country”: “CN”:表示IP地址所在的国家(国家代码为 “CN”)。
  • “loc”: “29.999,100.000”:表示IP地址的地理坐标,纬度和纬度。
  • “org”: “AS413 CHINANET-BACKBONE”:表示IP地址所属的组织,AS413 是中国电信的AS号,表示该IP地址属于中国电信的骨干网络。
  • “timezone”: “Asia/Shanghai”:表示IP地址所在的时区为亚洲/上海。
  • “readme”: “https://ipinfo.io/missingauth”:提供了一个链接,指向ipinfo.io网站上的关于缺少身份验证信息的说明。

当然,使用“ipconfig”命令也可以快速的查看自己的电脑的IP地址、子网掩码、默认网关等等~

3.2 使用浏览器IP

在这里给各位还不是很懂的友友分享一个使用浏览器进行IP代理的教程方法!
首先我们打开浏览器的“工具”栏中的“Internet选项”,大概如下界面所示:
在这里插入图片描述
然后进一步点击局域网设置。
在这里插入图片描述
然后选择“为LAN使用代理服务器”
在这里插入图片描述
我们再把从IPIDEA中获得到的IP地址填入即可~

3.3 使用IPIDEA进行爬虫实操

我们点击获取代理:可以选择使用api获取,这样我们可以通过代码去实现代理ip。
在这里插入图片描述
点击生成链接后会弹出需要加白的ip(注意这个ip不是要代理的ip)。
在这里插入图片描述
(ps:如果打开链接后无法看到ip,需要给提示的ip加白,然后刷新就可以看到代理的ip和端口)。
在这里插入图片描述
给这个ip加白之后,再打开链接,这样就可以看到生成的ip和端口。
在这里插入图片描述
另外需要注意的是IPIDEA提供的是海外的ip,所以仅支持海外环境才能进行代理~
在这里插入图片描述
通过代码实现代理ip,首先我们需要捋清楚api代理的流程,通过F12抓一下浏览器的包出来分析一下:
当我们点击生成链接后:
在这里插入图片描述
可知点击链接之后做了三件事情,首先是获取用户的信息,然后是获取新的ip,最后是查看白名单。

直接看获取ip这一步会返回三个链接,得到的链接就是我们要在浏览器上打开的链接,选择其中一个即可。
在这里插入图片描述
当然肯定会有鉴权,IPIDEA使用的seesion_id,登陆时会返回这个session_id,可以先请求登陆接口获取到session_id之后再将其写入到请求头中即可。
在这里插入图片描述
一些url梳理如下:

  • 用户登陆:https://api.ipidea.net/g/api/account/accountLogin
  • 获取用户信息:https://api.ipidea.net/g/api/user/getUserInfo
  • 获取新的ip(链接):https://api.ipidea.net/g/api/tiqu/new_get_ips
  • 给ip加白:“https://api.ipidea.net/g/api/white/add”

实现的代码如下所示:

class MyProxie():
    def __init__(self):
        self.User_Agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0'
        self.HEADERS = {
           'User-Agent': self.User_Agent 
        }
        self.LOGIN_URl = "https://api.ipidea.net/g/api/account/accountLogin"
        self.GET_USER_INFO_URL = "https://api.ipidea.net/g/api/user/getUserInfo"
        self.GET_NEW_IPS_URL = "https://api.ipidea.net/g/api/tiqu/new_get_ips"
        self.ADD_WHITE_URL = "https://api.ipidea.net/g/api/white/add"
 
    def login(self):
        body = {
            "account": your_account,
            "password": your_passwd
        }
        res = requests.post(self.LOGIN_URl, headers=self.HEADERS, data=body)
        json_object = json.loads(res.text)
        session_id =  json_object.get("ret_data", {}).get("session_id")
        return session_id
    
    def get_user_info(self, session_id):
        if not session_id:
            return "session id is none"
        self.HEADERS["Session-Id"] = session_id
        res = requests.post(self.GET_USER_INFO_URL, headers=self.HEADERS)
        
    def get_new_ips(self, session_id):
        if not session_id:
            return "session id is none"
        self.HEADERS["Session-Id"] = session_id
        body = {
            "num": 1,
            "type": 1,
            "tiqu_type": "balance",
            "protocol": 1,
            "line_break": 1,
            # "special_break": 
            # "manyregions": 
        }
        res = requests.post(self.GET_NEW_IPS_URL, headers=self.HEADERS, data=body)
        json_object = json.loads(res.text)
        links = json_object.get("ret_data", {})
        for _, link in links.items():
            res = requests.get(link)
            ip_info =  res.text.split(":")
            if len(ip_info) == 2:
                proxie_ip = ip_info[0]
                proxie_port = ip_info[1].strip()
                return proxie_ip, proxie_port
            else:
                
                # print("res:", res.text)
                # print("repr:", repr(res.text))
                data = json.loads(res.text)
                data.get("success") == "false"
                request_ip = data.get("request_ip")
                if request_ip:
                    # 将服务器ip加入白名单
                    if self.add_white(request_ip):
                        # 再次访问
                        print(f"给{request_ip}加白成功!")
                        res = requests.get(link)
                        ip_info =  res.text.split(":")
                        if len(ip_info) == 2:
                            proxie_ip = ip_info[0]
                            proxie_port = ip_info[1]
                            return proxie_ip, proxie_port
                        else:
                            continue
                    else:
                        print("加白失败")
                        continue
                else:
                    continue
        return None, None        
    def add_white(self, request_ip):
        body = {
            "ip": request_ip,
            "remark": "代码生成"
        }
        res = requests.post(self.ADD_WHITE_URL, headers=self.HEADERS, data=body)
        data = json.loads(res.text)
        if data.get("msg") == "success":
            return True
        return False
 
    def get_proxies(self, ip, port):
        proxies = {
            'http': f'http://{ip}:{port}',
            'https': f'http://{ip}:{port}',
        }
        return proxies
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93

抓取YouTube某个视频的字幕:

打开YouTube网站可以发现,将光标放到某个视频上时会开始播放视频,同时我们按F12就可以看到会有请求出来,其中有个timedtex就是这个视频的字幕。

然后实现一个测试函数将url传进去,再进行过滤和筛选就可以得到我们想要的结果:

def test(self, url, method, body):
        # 测试方法
        session_id = self.login()
        ip, port = self.get_new_ips(session_id)
        print(f"获取到的代理ip的端口:{ip}:{port}")
        proxies = self.get_proxies(ip, port)
        if method.upper()=="GET":
            res = requests.get(url, proxies=proxies)
        else:
            res = requests.post(url, proxies=proxies, data=body)
        return res.text
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/965902
推荐阅读
相关标签
  

闽ICP备14008679号