python爬虫如何配置动态爬虫代理
Posted 梦子mengy7762
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫如何配置动态爬虫代理相关的知识,希望对你有一定的参考价值。
很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。
所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取
使用代理流程
代理的使用大概可以分为四步
1.构建处理器handler(代理IP)
2.使用处理器构建连接方法(build_opener)
3.构建请求
4.使用连接方法中的open函数打开请求
其中最重要的是第一步构建处理器的ProxyHandler函数
爬取数据
这一步,你要明确要得到的内容是什么?是html源码,还是Json格式的字符串等。
最基本的爬取
抓取大多数情况属于get请求,即直接从对方服务器上获取数据。
首先,Python中自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。
import requests
url = http://current.ip.16yun.cn:802
response = requests.get(url)
content = requests.get(url).content
print(“response headers:”, response.headers)
print(“content:”, content)
此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。
import requests
data = ‘wd’:‘nike’, ‘ie’:‘utf-8’
url=‘https://www.baidu.com’
response = requests.get(url=url, params=data)
如何配置动态的代理ip
这里使用的是收费的代理ip了,你可以使用亿牛云云代理服务商提供的服务,当你注册并缴费之后,会给你一个域名端口和用户名密码,这里直接看代码吧!最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架尉♥信(同音):2028979958 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
#! – 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
这是一个检测代理是否使用成功的网站
以上是关于python爬虫如何配置动态爬虫代理的主要内容,如果未能解决你的问题,请参考以下文章