ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python面试题之代理池的使用

2021-08-27 16:35:12  阅读:202  来源: 互联网

标签:面试题 http cn python ip 代理 yun


Python是个近几年非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高,学习python的小伙伴也非常多。大家都想通过掌握python技术找到一份不错的工作。但是很多时候有些小伙伴在面试时的基础知识点采坑了,下面我收集了一些Python面试官经常问的问题,供大家参考学习。

今天我们重点分享下面试问题之代理池的使用,学爬虫时我们已经了解了多种请求库,如 Requests、Urllib、Selenium 等。我们接下来首先贴近实战,了解一下代理怎么使用。主要介绍两种代理的接入方式:一类是传统的API提取的产品,另一类是隧道转发的爬虫代理产品。两种产品使用方式完全是不同的,调用代理的接口也不一样。

在做测试之前,我们需要先获取一个可用代理,搜索引擎搜索“代理”关键字,就可以看到有许多代理服务网站,很多代理商都是会提供免费测试的,比如www.16yun.cn,但是正式使用是需要购买的,网上虽然也有很多免费的代理,但是这些免费代理大多数情况下都是不好用的,所以比较靠谱的方法是购买付费代理,买一个稳定可用的即可,可以自行选购。

下面我们来看下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

当我们是设置了代理需要验证代理是否使用成功,我们可以直接访问http://current.ip.16yun.cn:802来看获取的到ip是本地ip还是代理ip。关于python面试有很多的问题,今天我们就分享到这里,下次分享其他问题。

标签:面试题,http,cn,python,ip,代理,yun
来源: https://www.cnblogs.com/mmz77-aa/p/15194249.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有