继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

新手使用python采集数据的尴尬事之代理ip

专业爬虫
关注TA
已关注
手记 34
粉丝 9
获赞 17


背景 , 原本不是爬虫的,因公司业务需求需要一些前程无忧的数据,被迫上岗,简单的学了些python。因为网站的特殊性,访问次数多了就要封ip,意味着还要找ip。所以在网上随便找了家代理叫亿牛云,然后跟客服沟通了下我这个小白的需求,客服跟我推介了他们家的爬虫动态转发代理,说适合我这样的小白使用,使用方式比较简单,我就抱着试试的想法接受了。客服给我发了一段关于python怎么使用他们家代理的代码示例,https://www.16yun.cn/help/ss_demo/#1python。打开看了之后我以为示例就是可以直接使用的,而且客服也说过代码示例可以直接复制使用,我就直接复制然后把目标网站改成了我自己的,代码如下

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

 

        import requests

        import random

 

        # 要访问的目标页面

        targetUrl = "www.mkt.51job.com"

 

        # 要访问的目标HTTPS页面

        # targetUrl = "https://www.mkt.51job.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

然后就去运行,结果是这样

 

 http://img4.mukewang.com/5e68ae250001e7d609400471.jpg

然后就去找客服,结果人家说那只是代码示例,里面的代理参数是需要他们提供重新配置才可以使用,顿时就觉得自己真的很小白,然后请客服开通了代理测试了下,结果运行起了,对我这样的小白来还好使用的方式简单,不然又要各种查资料了。我想很多人都是这样吧,刚开始的时候各种小白问题都有可能存在,看来不管是哪个领域,还是要深入的学习才好!


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP