我们在制作爬虫爬取想要的资料时,由于是计算机自动抓取,强度大、速度快,通常会给网站服务器带来巨大压力,所以同一个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()

三、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)

四、爬虫框架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)

# https方法一:
# connector = SocksConnector.from_url('socks5://localhost:1080', rdns=True)
# async with aiohttp.ClientSession(connector=connector) as sess:
# https方法二:
async with aiohttp.ClientSession() as session:session.proxies = {'http': 'socks5h://127.0.0.1:1080','https': 'socks5h://127.0.0.1:1080'}headers = {'content-type': 'image/gif','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'}cookies = {'cookies_are': 'working'}# proxy = "http://127.0.0.1:1080"with async_timeout.timeout(10):#设置请求的最长时间为10s# async with sess.get(url, proxy="http://54.222.232.0:3128") as res:async with session.get(url,headers=headers,cookies=cookies, verify_ssl=False) as res:text = await res.text()print(text)

◼️一、requests设置代理:

◼️二、Selenium+Chrome设置代理:

◼️三、Selenium+Phantomjs设置代理:

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

◼️五、Python异步Aiohttp设置代理:
转https://www.cnblogs.com/du-jun/p/10710833.html

五种代理IP proxy的设置方法相关推荐

  1. 二十三种设计模式(第十二种)-----代理模式(Proxy)

    二十三种设计模式(第十二种)-----代理模式(Proxy) 尚硅谷视频连接https://www.bilibili.com/video/BV1G4411c7N4?from=search&se ...

  2. windows2003服务器双线双IP双网卡设置方法 双线

    windows2003服务器双线双IP双网卡设置方法 双线 双线双ip很好,网通用户访问网通线路,电信用户访问电信线路. 很多人会选用导入静态路由表,这个办法看似完美,其实问题很多. 1.电信用户如果 ...

  3. 计算机自动配置的ip地址,电脑自动获取IP地址的设置方法(图文)

    在我们使用电脑的过程中,有时候需要根据网络的需求将电脑IP地址设置为自动获取,对网络知识不太了解的朋友遇到此类问题可能不知道怎么去设置,在此小编总结了有关电脑设置自动获取IP地址的相关方法,感兴趣的朋 ...

  4. css 背景效果_css透明度怎么设置?三种css图片透明度的设置方法

    css透明度的设置在网页的设计中是经常需要用到的,有时为了设计出的网页更加的美观,会对图片进行透明化处理,这样网页上面的内容就不会看不见,有的网页因为图片作为背景,也会更加美观,那么,css中的透明度 ...

  5. php实现云盘下载不限速,【合集】【已更新第五种】五种百度云下载不限速方法+软件...

    本帖最后由 kof20046 于 2019-3-17 17:46 编辑 目前本人知道的五种百度网盘不限速方法,给大家收集起来,方便查找下载. 还有IDM和FDM也是可以下载,但是我下载的时候总只有10 ...

  6. burpsuite 五种代理抓包方式(本地、谷歌、火狐浏览器两种插件)

    目录 直接使用系统的代理功能 Google浏览器插件SwitchyOmega设置(只能装离线版) Firefox浏览器插件SwitchyOmega设置(可在线安装) 使用火狐浏览器+在线安装代理插件F ...

  7. html win10虚拟键盘,五种打开win10虚拟键盘的方法 win10虚拟键盘快捷键

    电脑在使用的过程中,有时会遇到只有鼠标或实体键盘部分按键失灵,或为了体验系统自带的虚拟键盘等情况.此时就需要开启系统的屏幕键盘.屏幕键盘是一个模拟键盘的系统软件,必要的时候可以代替物理键盘Win10做 ...

  8. 将ip电话注册到服务器上,ip电话怎么安装设置 ip电话安装设置方法文字详解【图文】...

    随着互联网时代的到来,我们的地球变成了一个"村庄",跨越了时间和空间的界限,可以不夸张的说,一个位于"天涯",另一个身在"海角"都能相互通话 ...

  9. virtualbox四种网络连接方式及其设置方法

    VirtualBox中有4种网络连接方式: ①NAT ②Bridged Adapter ③Internal ④Host-only Adapte 废话不多说,直接上图! (注:此图直接取至Finalbu ...

  10. Java24种设计模式(第二种)--代理模式(Proxy Pattern)

    Java24种设计模式 (第二种) 一.代理模式(Proxy Pattern) 模式逻辑: 什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道 被代理人能做哪些事 ...

最新文章

  1. “人工智能之父”艾伦·图灵登上英国50英镑新钞
  2. 智能车竞赛线上比赛部分镜头
  3. 提升 Node.js 应用性能的 5 个技巧
  4. PAT乙级(Basic Level)练习题-写出这个数 (20)
  5. 10 分钟快速入门海量数据搜索分析引擎 Elasticearch
  6. vue+express 构建后台管理系统
  7. oracle分区表学习及应用
  8. java创建android快捷方式_Android 通过应用程序创建快捷方式
  9. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
  10. java servlet文件下载_Servlet实现文件下载功能
  11. 高效管理http连接
  12. 小文件复制为什么那么慢_为什么最近手机网速那么慢?原因是……
  13. Springboot启动报错Error handling failed
  14. Servlet+Jsp实现图片或文件的上传功能
  15. Android Contentprovider的学习实例总结
  16. 457.环形数组循环
  17. Windows 技术篇-通过注册表查找vc运行库所在位置实战演示,通过ProductCode查看vc++运行库安装位置
  18. wireshark+rtmp协议分析
  19. python自由落体_Javascript摸拟自由落体与上抛运动原理与实现方法详解
  20. 如何证明pi是无理数

热门文章

  1. 【数据结构】顺序存储结构
  2. 打开unity卡在loading白屏界面
  3. ios13 文件 连接服务器 您已离线,iOS13,终于可以屏蔽系统更新了
  4. Java中的char占用几个字节
  5. java将map输出到d盘_java后台的“/”相对路径不是代表webroot吗,为什么在这里代表了d盘,测试的文件都传到了d盘呀?...
  6. springboot的配置文件加载的顺序,以及在不同位置配置下,加载的顺序
  7. String类型相关的题
  8. tornado(五)
  9. 会玩弹珠也可以拿来炫了?是的,这个技能燃爆了!
  10. 查询ubuntu系统版本相关信息