注册
登录
提问时间:2018/9/27 14:44:42    楼主:未知网友   阅读量:956

我们知道,一些网站会有相应的反爬虫措施,比如检测某些IP的访问次数或者访问频率,有些反人类的访问速度就会收到限制甚至封禁,所以在进行爬虫工作时也要讲究策略,比如使用代理IP,调整访问频率,设置UA等等,让我们来看看如何简单的使用代理IP。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import requests

import random

if __name__ == "__main__":

    #不同浏览器的UA

    header_list = [

        # 遨游

        {"user-agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"},

        # 火狐

        {"user-agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},

        # 谷歌

        {

            "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}

    ]

    #不同的代理IP(该代理ip可能已经失效,请自行去站大爷网站上购买开通)

    proxy_list = [

        {"http": "112.115.57.20:33128"},

        {‘http‘: ‘121.41.171.223:32128‘}

    ]

    #随机获取UA和代理IP

    header = random.choice(header_list)

    proxy = random.choice(proxy_list)


    url = ‘http://www.baidu.com/s?ie=UTF-8&wd=ip‘

    #参数3:设置代理

    response = requests.get(url=url,headers=header,proxies=proxy)

    response.encoding = ‘utf-8‘

    

    with open(‘daili.html‘, ‘wb‘) as fp:

        fp.write(response.content)

    #切换成原来的IP

    requests.get(url, proxies={"http": ""})