初中生
- 热心值
- 2
- IT币
- 595
- 贡献值
- 1

|
作为一名数据工作者,我们每天都在使用 Python处理大多数工作。在此过程中,我们会不断学到了一些有用的技巧和窍门。在这里,我尝试给大家头分享这些技巧中的一些,并且在本文中简单介绍这些方法,如果你对其中一个或多个感兴趣,你可以通过文末参考资料查看官方文档。希望对你能有所帮助。 我们在获取数据的过程中会遇到很多的网站反爬机制,有的简单,有的比较难,都需要实践学习。今天分享其中关于目标网站封IP的反爬机制,在我们学习过程中,添加代理是基本的知识。关于代理我们大多接触的都是传统的通过api的模式获取的IP,然后使用,这种模式对我们的好处就是可以自己管理IP池,控制IP的使用。但是有些业务对IP的控制没有那么高要求,只需要切换IP,这种场景下,我们可以了解下爬虫代理动态转发模式的。这种是自动转发技术,通过配置固定代理域名、端口、用户名和密码直接使用,默认每个http请求自动转发,不需要绑定IP白名单。有demo参考使用,方便快捷,适合快速启动项目。例如我们通过使用这种代理去访问百度,简单的使用方式如下: #! -*- encoding:utf-8 -*- import requests import random # 要访问的目标页面 targetUrl = "http://httpbin.org/ip" # 要访问的目标HTTPS页面 # targetUrl = "https://httpbin.org/ip" # 代理服务器(产品官网 it帮论坛真好) 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不同语音使用这种模式的代理有细微的不同,有兴趣的同学可以去了解下 it帮论坛真好。
若有收获,就点个赞吧
|
|