《Python 黑科技》代理ip奇技淫巧

慈云数据 2024-03-20 技术支持 53 0

点赞 ➕ 评论 ➕ 收藏 = 三连再看你最帅

目录

🐛 1、什么是住宅动态ip?

🦋 1.1 动态ip优点是什么?

🐌 1.2 环境准备

🐞 1.3 获取代理ip

🐜 2、使用代理IP

🐤 2.1 浏览器使用代理ip

🐵 2.2 api链接生成代理ip

🍏 2.3 使用代理ip访问网页

🍊 3、测试代理ip

🥕 3.1 curl测试代理ip可用性

🍳 3.2 代码测试代理ip可用性

🍅 4、粉丝福利

🍅 4.1 专栏推荐

🍅 4.2 资料领取


🍅 联系作者: 不吃西红柿 

🍅 作者简介:CSDN 博客专家丨全站 Top 8🏆、HDZ 成员、信息技术智库公号号主

🍅 简历模板、PPT 模板、学习资料、技术互助。关注我,都给你

很多人看西红柿的博客,不知道从何学起,为了广大人民群众的根本利益,我写了一个阅读指引,按照这个指引进行学习,多加练习,假以时日,势必能够……算了

学习路径指引定位适宜人群
全网最全丨 Python 快速入门专栏入门级没有语言基础,感兴趣的大学生
全网最黑丨 Python 黑科技专栏黑科技级有一定的基础,学以致用
大数据知识体系丨集锦专栏工作/就业大数据领域从业者,就业升职加薪
信息技术智库社区吹水/互助互联网相关人员,白嫖奖品丨官方活动

🐛 1、什么是住宅动态ip?

不消得西红柿说,相信大家都知道ip有动态和静态之分,它们的定义是不同的,动态IP地址和静态IP地址是对应的。

  • 动态ip就是指当你每一次上网时,运营商都会随机分配一个IP地址给你;

  • 静态ip指的是固定分配一个IP地址给你,你每次使用的都是这个ip地址。

    🦋 1.1 动态ip优点是什么?

    当频繁使用同一个固定IP访问目标网站的时候,很容易因为IP暴露而被目标网站锁定,一旦固定IP被锁定,也就无法访问目标网站了。

    我用的住宅动态ip

    优势特性
    9000万+ 住宅IP超过9000万个真正的动态住宅代理,保证您可以大规模采集数据
    无限请求我们动态住宅IP不限制请求数量,不限并发,不限带宽
    220+国家/地区覆盖全球220+国家城市地区,优质的家庭住宅代理IP资源v
    24/7支持经验丰富的客服和技术人员提供全天候业务支持,通过微信、 QQ和电话等方式与您保持联系

    🐌 1.2 环境准备

    • 硬件环境: mac

    • 软件环境: python 3.8

    • 代理环境: 动态住宅ip代理网站

      🐞 1.3 获取代理ip

      登录Ipidea.net账号,生成API链接,打开链接并将链接内的IP复制

      到此,你拿到了代理ip的api链接,记得复制保存,等下要用。

      你可以浏览器你访问这个api链接,会发现你拿到了ip和端口,每一次调用api,也会返回不同的代理ip。

      注意:这个ip是代理服务的ip,最终访问浏览器的ip,也不是这个。

      🐜 2、使用代理IP

      在使用代理IP,其实就几行代码的事情。但对于新手朋友来说,就比较棘手了。西红柿今天和大家讨论2 种简单的验证代理IP的方法。

      🐤 2.1 浏览器使用代理ip

      不同的浏览器设置方法,这里都有教程。

      使用教程:不同浏览器设置代理ip

      浏览器设置ip代理步骤

      • 步骤一:登录Ipidea.net账号,生成API链接,打开链接并将链接内的IP复制

      • 步骤二:在谷歌浏览器菜单列表内 - 设置 - 高级 - 打开您计算机的代理设置

        • 步骤三:开启使用代理服务器按钮,并填写复制的IP和端口号后,点击保存

        • 步骤四:打开百度/谷歌搜索引擎,搜索:IP,查看当前代理后的IP地址。

          注意:仅支持境外网络环境下使用,不提供任何形式的境内使用方式

          🐵 2.2 api链接生成代理ip

          划重点:浏览器设置代理ip,终究上不得台面,接下来我要讲的是重点: 代码设置代理ip。

              def get_proxie(self, api_url):
                  # 微信搜:信息技术智库,回复'源码'
                  user_agent = 'Mozilla/5.0 (Linux; Android 10; EVR-AL00 Build/HUAWEIEVR-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 baiduboxapp/11.0.5.12 (Baidu; P1 10)'
                  headers = {
                      'User-Agent': user_agent}
                  res = requests.post(api_url,headers=headers, verify=True)
                  proxie = "https://%s"%(res.text)
                  proxies = {'http': proxie}
                  is_valid, proxies = visitor.proxie_check(proxies)
                  return is_valid, proxies
          

          西红柿解释:这一步的效果,相当于刚才百度拿到代理ip。然后你可以,通过这个代码ip去搞事情。

          西红柿获取代理ip,用的是ipidea:  可领取免费流量玩 

          我玩了3周,免费流量竟然一直用不完。

          当然,你如果还有其他方法,欢迎架微notomoto 进Python裙交流。

          🍏 2.3 使用代理ip访问网页

          class Visitor(object):
              def __init__(self):
                  """Inits Visitor with blah."""
                  self.eggs = 0
              @time_decorator
              def proxie_visit(self, proxie ,url):
                  user_agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  Referer= 'https://www.baidu.com/'   # 伪装成从baidu
                  headers = {
                      'Referer': Referer,
                      'User-Agent': user_agent}
                  # visit
                  res = requests.get(url, headers=headers, proxies=proxie)
                  return res.text
          

          代码解释

          • url为访问的地址

          • proxies=proxie 为使用代理

            获取完整代码:微信搜信息技术智库,回复源码

            🍊 3、测试代理ip

            🥕 3.1 curl测试代理ip可用性

            测试代理ip: curl -x ip:端口 ipinfo.io

            🍳 3.2 代码测试代理ip可用性

              def proxie_check(self, proxies):
                    user_agent = 'Mozilla/5.0 (Linux; Android 10; EVR-AL00 Build/HUAWEIEVR-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 baiduboxapp/11.0.5.12 (Baidu; P1 10)'
                    headers = {'User-Agent': user_agent}
                    res = requests.get("https://bbs.csdn.net/forums/ITID", headers=headers, proxies=proxies)
                    is_valid = 0
                    if res.status_code == 200 and "msg" not in str(proxies):
                        is_valid = 1
                    return is_valid, proxies
            

            🍅 4、粉丝福利

            🍅 4.1 专栏推荐

            🍟 1、Python 理论基础:全网最全丨 Python 快速入门专栏

            🍇 2、Python 练习应用:全网最黑丨 Python 黑科技专栏

            🍅 4.2 资料领取

            资料信息技术智库
            学习资料8大类 丨20G,含编程语言、算法、大数据生态圈、数据仓库、前端等
            技术互助大佬指点迷津,你的问题往往有人遇到过,求资源在群里喊一声
            面试题库由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中
            行业资料关注即可领取 PPT 模板、简历模板、行业经典书籍 PDF
            👇👇👇 领取资料、技术互助 👇👇👇
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon