新闻  |   论坛  |   博客  |   在线研讨会
代理IP的获取与使用
laical | 2020-11-27 17:20:16    阅读:71   发布文章

当一个用户访问目标网站出现了限制,说明IP就被限制了。封IP也是网站一种很常见的反爬机制。IP被封后,这时候要么等待,要么就使用代理IP去发出请求访问。这时候就需要使用代理IP池,那什么是代理IP池。

代理IP池:意思就是网络爬虫在采集数据中会遇到各种问题。就要使用隧道转发的代理ip,一个代理IP就一个IP,如果是几十万个代理IP合在一起构建为一个池子,就简称为代理IP池,代理IP池的构建不仅能维护IP池,网络爬虫采集数据时也能更有效的使用有效的代理IP去访问目标网站。

代理IP的获取:一开始许多网络爬虫用户需要代理IP的时候,都会再网上去采集那些免费代理IP,选择一些有效的代理IP,去充实自己的代理IP池。虽然免费的代理IP有个别代理能用,但是时间久了,采集网上的代理IP,不仅效率差,筛选慢,而且对自己的业务效果也不好。为了解决这种情况,所以就会有高匿爬虫代理IP,让网络爬虫多了一种选择,去网上选择一些代理商购买隧道转发的爬虫代理,来更有效的采集业务数据。

代理IP的质量:网络上采集免费代理IP,都没质量保证。所以市面上才有会许多付费高匿代理,其实付费高匿代理IP,也不能完全保证质量。代理IP的质量非常重要,保证好了IP质量,才能保证好业务的进展,所以在选择代理商的时候一定要选择一些自营线路,电信机房宽带,私密家庭IP,隧道转发代理IP,最好是业务独享模式管理的代理商。这样的代理商代理IP的质量一般都很稳定。

python爬虫实现实用爬虫代理:

    #! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "http://httpbin.org/ip"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://httpbin.org/ip"

    # 代理服务器(产品官网 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


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客