鱼C论坛

 找回密码
 立即注册
查看: 1474|回复: 0

[技术交流] 网络爬虫之关于爬虫http代理的常见使用方式

[复制链接]
发表于 2020-4-28 17:20:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在做爬虫的过程中,如果你爬取的频率过快,不符合人的操作模式。有些网站的反爬虫机制通过监测到你的IP异常,访问频率过高。就会对你进行封IP处理。目前已有比较多的第三方平台专门进行代理IP的服务,那如何使用平台提供的http代理呢,一般好的平台都会提供两种使用方式:
1传统的API提取模式: API链接提取格式如下
API就是url链接,例如:http://ip.16yun.cn:817/************  用户的爬虫程序需要支持API的自动提取代理IP,定期从url中获取代理IP的相关信息,格式如下:
(1)默认支持文本

(2)json格式(在API链接后面加上&format=json,返回JSON格式)

(3)在链接后面加上 &part=分隔符 ,分隔符需要使用url转义
而爬虫程序通过获取出来的IP向网站发出请求获取数据。

2 自动转发的爬虫代理:通过固定云代理服务地址,建立专线网络链接,代理平台自动实现毫秒级代理IP切换,保证了网络稳定性和速度,避免爬虫客户在代理IP策略优化上投入精力。这种方式适用于专做爬虫的用户或者第一次使用http代理的用户,使用方便更加简单。市面上目前也只有几家代理平台有这种使用方式,这种使用方式比较严格,使用者必须是研发,严格按照自己的爬虫语言参考平台调用代理信息的demo修改接口,配置代理信息使用。每个平台配置爬虫代理的代理信息demo都不一样,其含义都差不多。
例如python网络爬虫设置自动转发代理接口的demo
如下:
#! -*- encoding:utf-8 -*-
        import requests
        import random
        # 要访问的目标页面
        targetUrl = "www.baidu.com"
        # 要访问的目标HTTPS页面
        # targetUrl = "www.baidu.com"
        # 代理服务器(产品官网 www.16yun.cn)
        proxyHost = "t.16yun.cn"
        proxyPort = "31111"
        # 代理隧道验证信息
        proxyUser = "username"
        proxyPass = "password"
        proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
            "host" : proxyHost,
            "port" : proxyPort,
            "user" : proxyUser,
            "pass" : proxyPass,
        }
        # 设置 http和https访问都是用HTTP代理
        proxies = {
            "http"  : proxyMeta,
            "https" : proxyMeta,
        }
        #  设置IP切换头
        tunnel = random.randint(1,10000)
        headers = {"Proxy-Tunnel": str(tunnel)}
        resp = requests.get(targetUrl, proxies=proxies, headers=headers)
        print resp.status_code
        print resp.text
这种是比较常见使用自动转发代理的demo,其他爬虫语言使用方式也大同小异。

以上是使用http代理的常见的两种方式,我也是经常使用代理,觉得自动转发的代理更加好用,方便,简单,速度快。避免了我在爬虫使用代理中的很多麻烦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 22:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表