技术指南

首页 / 技术指南

技术指南

代理IP设置使用的五个不同方法

2019-08-06 16:09:57   来源:   点击:
    由于同一个IP反复爬取同一个网页,就很可能被封,所以如果需要爬虫出面进行爬取,这需要使用代理IP的,但是怎么使用修改IP呢?这里介绍代理IP设置使用的五个不同方法,大家可以参考下的。

 

    一、requests设置代理:

 

    import requests

 

    proxies = { "http": "http://192.10.1.10:8080", "https": "http://193.121.1.10:9080", }

 

    requests.get("http://targetwebsite.com", proxies=proxies)

 

    二、Selenium+Chrome设置代理:

 

    from selenium import webdriver

 

    PROXY = "192.206.133.227:8080"

 

    chrome_options = webdriver.ChromeOptions()

 

    chrome_options.add_argument('--proxy-server={0}'.format(PROXY))

 

    browser = webdriver.Chrome(chrome_options=chrome_options)

 

    browser.get('www.targetwebsize.com')

 

    print(browser.page_source)

 

    brsowser.close()

 

代理IP设置使用的五个不同方法

 

    三、Selenium+Phantomjs设置代理:

 

    # 利用DesiredCapabilities(代理设置)参数值,重新打开一个sessionId.

 

    proxy=webdriver.Proxy()

 

    proxy.proxy_type=ProxyType.MANUAL

 

    proxy.http_proxy='192.25.171.51:8080'

 

    # 将代理设置添加到webdriver.DesiredCapabilities.PHANTOMJS中

 

    proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)

 

    browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)

 

    browser.get('http://www.targetwebsize.com')

 

    print(browser.page_source)

 

    # 还原为系统代理只需将proxy_type重新设置一次

 

    proxy.proxy_type=ProxyType.DIRECT

 

    proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)

 

    browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)

 

代理IP设置使用的五个不同方法

 

    四、爬虫框架scrapy设置代理:

 

    在setting.py中添加代理IP

 

    PROXIES = ['http://173.207.95.27:8080',

 

    'http://111.8.100.99:8080',

 

    'http://126.75.99.113:8080',

 

    'http://68.146.165.226:3128']

 

    而后,在middlewares.py文件中,添加下面的代码。

 

    import scrapy from scrapy

 

    import signals

 

    import random

 

    classProxyMiddleware(object):

 

    ''' 设置Proxy '''

 

    def__init__(self, ip):

 

    self.ip = ip

 

    @classmethod

 

    deffrom_crawler(cls, crawler):

 

    return cls(ip=crawler.settings.get('PROXIES'))

 

    defprocess_request(self, request, spider):

 

    ip = random.choice(self.ip)

 

    request.meta['proxy'] = ip

 

    最后将我们自定义的类添加到下载器中间件设置中,如下。

 

    DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.ProxyMiddleware': 543,}

 

    五、Python异步Aiohttp设置代理:

 

    proxy="http://192.121.1.10:9080"

 

    asyncwithaiohttp.ClientSession()assession:

 

    asyncwithsession.get("http://python.org",proxy=proxy)asresp:

 

    print(resp.status)

 

    根据以上设置代理的方法,就可以爬取你想要的内容了。代理IP设置使用的五个不同方法,你都学会了么?有问题可以讨论下。

上一篇:代理IP能破ip限制也有安全隐患
下一篇:高质量代理ip有助于爬虫破限制持续工作

关闭
18076763811
动态IP