應對反爬機制之代理的使用

做爲爬蟲咱們的都知道不少網站都有反爬措施阻止別人來爬取數據,而封ip是反爬策略中最多見的一種。一般他們的策略都是發現你在短期內過多的訪問就會把你的ip封禁,針對這個策略要解決其實個很簡單,咱們能夠經過限制訪問網站的頻率或添加IP代理池就OK了。而在爬蟲程序中咱們就只須要添加代理就能夠搞定了,好比以示例服務器

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

import requestsdom

import random網站

# 要訪問的目標頁面代理

targetUrl = "http://www.weibo.com"code

# 要訪問的目標HTTPS頁面ip

# targetUrl = "https://www.weibo.com" utf-8

# 代理服務器(產品官網 www.16yun.cn)get

proxyHost = "t.16yun.cn"requests

proxyPort = "31111"產品

# 代理隧道驗證信息

proxyUser = "16VIZRXL"

proxyPass = "125478"

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

本文只是粗略的分享了下網站反爬策略中的封ip行爲,只須要加上代理就能夠輕鬆解決,以Python爲主。但願能給初入門的你引上一條路,但願能碰見更多的走在路上的前輩們。

相關文章
相關標籤/搜索