旗下导航:搜·么
当前位置:网站首页 > Python教程 > 正文

python爬虫防备IP被封的要领【Python教程】,python,爬虫

作者:搜教程发布时间:2019-11-27分类:Python教程浏览:77评论:0


导读:在编写爬虫爬取数据的时刻,尤其是爬取大批数据的时刻,由于许多网站都有反爬虫步伐,所以很轻易被封IP,就不能继承爬了。本文就如何处理这个题目总结出一些应对步伐,这些步伐能够零丁运用,...
在编写爬虫爬取数据的时刻,尤其是爬取大批数据的时刻,由于许多网站都有反爬虫步伐,所以很轻易被封IP,就不能继承爬了。本文就如何处理这个题目总结出一些应对步伐,这些步伐能够零丁运用,也能够同时运用,结果更好。

捏造User-Agent

在要求头中把User-Agent设置成浏览器中的User-Agent,来捏造浏览器接见。比方:

headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
resp = requests.get(url,headers = headers)

在每次反复爬取之间设置一个随机时候距离

# 比方:
time.sleep(random.randint(0,3))  # 停息0~3秒的整数秒,时候区间:[0,3]
# 或:
time.sleep(random.random())  # 停息0~1秒,时候区间:[0,1)

捏造cookies

若从浏览器中能够一般接见一个页面,则能够将浏览器中的cookies复制过来运用,比方:

cookies = dict(uuid='b18f0e70-8705-470d-bc4b-09a8da617e15',UM_distinctid='15d188be71d50-013c49b12ec14a-3f73035d-100200-15d188be71ffd')
resp = requests.get(url,cookies = cookies)
# 把浏览器的cookies字符串转成字典
def cookies2dict(cookies):
    items = cookies.split(';')
    d = {}
    for item in items:
        kv = item.split('=',1)
        k = kv[0]
        v = kv[1]
        d[k] = v
    return d

注:用浏览器cookies提议要求后,假如要求频次过于频仍仍会被封IP,这时候能够在浏览器长举行响应的手工考证(比方点击考证图片等),然后就能够继承一般运用该cookies提议要求。

运用代办

能够换着用多个代办IP来举行接见,防备同一个IP提议过量要求而被封IP,比方:

proxies = {'http':'http://10.10.10.10:8765','https':'https://10.10.10.10:8765'}
resp = requests.get(url,proxies = proxies)
# 注:免费的代办IP能够在这个网站上猎取:http://www.xicidaili.com/nn/

【引荐课程:Python视频教程】

以上就是python爬虫防备IP被封的要领的细致内容,更多请关注ki4网别的相干文章!

标签:python爬虫


欢迎 发表评论: