• requests 模块使用代理


    正向代理与反向代理的区别

    • 反向代理:
      • 服务器端知道代理的存在,反向代理是为了保护服务器或负责负载均衡
      • 但是客户端不知道代理的存在的
    • 正向代理:
      • 客户端知道代理的存在,正向代理是为保护客户端,防止追究责任.
      • 但是服务端不知道真实的客户端

    根据代理ip的匿名程度,代理IP可以分为下面四类:

    • 透明代理(Transparent Proxy):透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以查到你是谁。
    • 匿名代理(Anonymous Proxy):使用匿名代理,别人只能知道你用了代理,无法知道你是谁。

    • 高匿代理(Elite proxy或High Anonymity Proxy):高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。

    从请求使用的协议可以分为:

    • http代理
    • https代理
    • socket代理等

    不同分类的代理,在使用的时候需要根据抓取网站的协议来选择

    代理IP使用的注意点

    • 反反爬

      使用代理ip是非常必要的一种反反爬的方式

      但是即使使用了代理ip,对方服务器任然会有很多的方式来检测我们是否是一个爬虫,比如:

      • 一段时间内,检测IP访问的频率,访问太多频繁会屏蔽

      • 检查Cookie,User-Agent,Referer等header参数,若没有则屏蔽

      • 服务方购买所有代理提供商,加入到反爬虫数据库里,若检测是代理则屏蔽

        所以更好的方式在使用代理ip的时候使用随机的方式进行选择使用,不要每次都用一个代理ip

    • 代理ip池的更新

      购买的代理ip很多时候大部分(超过60%)可能都没办法使用,这个时候就需要通过程序去检测哪些可用,把不能用的删除掉。

    • 使用代理的好处:
      • 让目标服务器以为不是同一个客户端在请求,防止因为同一个ip发送请求过多而被反爬
      • 防止我们的真实地址被泄露,防止被追究,保护自己
    • 如何在requests中使用代理
      • request.get(url, proxies=proxies)

     代码:

       proxies = {
    
          "http":"http://username:password@ip:端口号"
    
          "https": "https://username:password@ip:端口号"
    
       }
    
       request.get(url, proxies=proxies)
  • 相关阅读:
    Junit单元测试
    win7的6个网络命令
    WOJ1024 (POJ1985+POJ2631) Exploration 树/BFS
    WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
    woj1019 Curriculum Schedule 输入输出 woj1020 Adjacent Difference 排序
    woj1018(HDU4384)KING KONG 循环群
    woj1016 cherry blossom woj1017 Billiard ball 几何
    woj1013 Barcelet 字符串 woj1014 Doraemon's Flashlight 几何
    woj1012 Thingk and Count DP好题
    woj1010 alternate sum 数学 woj1011 Finding Teamates 数学
  • 原文地址:https://www.cnblogs.com/wzbk/p/9355378.html
Copyright © 2020-2023  润新知