Python 新手使用 Python 采集数据的尴尬事之代理 IP

suger · 2020年03月25日 · 最后由 pynix 回复于 2020年03月26日 · 265 次阅读

背景 , 原本不是爬虫的,因公司业务需求需要一些前程无忧的数据,被迫上岗,简单的学了些 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

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

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

广告?

爬第三方数据案件已经宣判了。。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册