Python爬虫经常使用小技巧之设置代理IP

 

设置代理IP的缘由api

咱们在使用Python爬虫爬取一个网站时,一般会频繁访问该网站。假如一个网站它会检测某一段时间某个IP的访问次数,若是访问次数过多,它会禁止你的访问。因此你能够设置一些代理服务器来帮助你作工做,每隔一段时间换一个代理,这样便不会出现由于频繁访问而致使禁止访问的现象。服务器

咱们在学习Python爬虫的时候,也常常会碰见所要爬取的网站采起了反爬取技术致使爬取失败。高强度、高效率地爬取网页信息经常会给网站服务器带来巨大压力,因此同一个IP反复爬取同一个网页,就极可能被封,因此下面这篇文章讲述一个爬虫技巧,设置代理IP网络

代理的获取有不少方式,网上有不少免费的能够去爬取一些试试,可是免费的代理使用起来也是 很吃力的。还有就是如今网上有不少的代理供应商,能够在网上寻找下,而后找家靠谱的使用。毕竟网络太大了,代理供应商确定也是良莠不齐的,因此找到合适的代理仍是须要花点时间的。在这里我就是使用了咱们长期使用的一家质量好的代理,亿牛云代理,并且是使用的他们的爬虫代理(动态转发)和通常的api模式不同。这种更简单更方便,对于懒人来讲绝对是最佳选择。dom

具体代码的使用学习

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

 

        import requestsspa

        import random代理

 

        # 要访问的目标页面code

        targetUrl = "http://httpbin.org/ip"ip

 

        # 要访问的目标HTTPS页面

        # targetUrl = "https://httpbin.org/ip"

 

        # 代理服务器

        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

总结

以上就是这篇文章的所有内容了,但愿本文的内容对你们的学习或者工做具备必定的参考学习价值,若是有疑问你们能够留言交流

相关文章
相关标签/搜索