爬虫之proxy(代理)

proxy简介

proxy即为代理,我们爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到我们是非正常访问,就会把我们的IP禁掉,这个时候就需要用代理了。

就好比现实生活中,我需要向A借一件东西,但是我跟A是仇人,直接向他借的话他不会借给我,这个时候我就让B帮我像A借,就说他要用,然后B借到东西之后再把东西给我用,这时,B就是我的代理了。

常用的免费代理网站:http://www.goubanjia.com/。

爬虫应该选择什么样的代理?

  • 针对不需要用户登录,cookie验证的网站,一般选择动态高匿代理。
  • 对于需要用户登录,身份认证的。一般选择静态IP

使用proxy的步骤

  1. 设置代理地址

    proxy = {‘http‘:‘52.187.162.198:3128‘}
  2. 创建ProxyHeader

    proxyHeader = request.ProxyHandler(proxy)
  3. 创建Opener

    opener = request.build_opener(proxyHeader)
  4. 安装Opener

    request.install_opener(opener)

示例

from urllib import request

# 设置代理地址
proxy = {‘http‘:‘52.187.162.198:3128‘}

# 创建ProxyHeader
proxyHeader = request.ProxyHandler(proxy)

# 创建Opener
opener = request.build_opener(proxyHeader)

# 安装Opener
request.install_opener(opener)

# 然后剩下的就跟正常使用差不多,只不过此时的request已经是绑定了代理之后的request
url = ‘https://www.taobao.com/‘
req = request.Request(url)
response = request.urlopen(req)
print(response.read().decode())

  

原文地址:https://www.cnblogs.com/fu-yong/p/9018930.html

时间: 2024-09-29 22:59:33

爬虫之proxy(代理)的相关文章

Python爬虫连载10-Requests模块、Proxy代理

一.Request模块 1.HTTP for Humans,更简洁更友好 2.继承了urllib所有的特征 3.底层使用的是urllib3 4.?开源地址:https://github.com/requests/requests 5.中文文档?:https://requests.readthedocs.io/zh_CN/latest/ 6.先安装这个包:pip install requests 7.get请求 (1)requests.get() (2)requests.request("get&

java爬虫常用设置代理IP教程

爬虫必须用代理IP吗?很多用户认为爬虫必须要用代理IP,没有代理IP将寸步难行:也有人说,代理IP是非必须的.那么他们这样认为的理由都是什么呢?有的用户他自己写爬虫程序,公司的任务一天要爬取几十万个页面,有时任务多的时候一天要上百万,爬着爬着IP就被封了,没有代理IP根本不行,他认为没有代理ip爬虫将寸步难行.他们说很有道理,都用亲身体验来证明了自己的观点.爬虫程序从本质上来说也是个访问网页的用户而已,只不过是个不那么守规矩的特殊用户,服务器一般很不欢迎这样的特殊用户总是用各种手段发现和禁止.最

爬虫技术:代理池的维护

一:代理池维护的模块 1. 抓取模块Crawl,负责从代理网站上抓取代理 ---------------抓取模块 2. 获取代理Getter,负责获取抓取模块返回的值,并判断是否超过存储模块的最大容量.---------------获取模块 3.存储模块Redis,负责将抓取的每一条代理存放至有序集合中.---------------存储模块 4.测试模块Tester,负责异步测试每个代理是否可用.---------------测试模块 5.调度模块Schedule,负责测试,获取,和对外api

豆瓣Redis解决方案Codis源码剖析:Proxy代理

豆瓣Redis解决方案Codis源码剖析:Proxy代理 1.预备知识 1.1 Codis Codis就不详细说了,摘抄一下GitHub上的一些项目描述: Codis is a proxy based high performance Redis cluster solution written in Go/C, an alternative to Twemproxy. It supports multiple stateless proxy with multiple redis instan

php设计模式之Proxy(代理模式)和Facade(外观)设计模式

Proxy(代理模式)和Facade(外观)设计模式它们均为更复杂的功能提供抽象化的概念,但这两种实现抽象化的过程大不相同 Proxy案例中,所有的方法和成员变量都来自于目标对象,必要时,该代理能够对它所传递的数据进行修改或检查魔术方法使得Proxy的实现变的简单,Proxy模式的一类应用时用来记录方法的访问信息还可以利用Proxy的类确定代码的范围或调试程序中存在的问题 <?php class LoggingProxy{ private $target; //传递进去一个对象 public f

Proxy - 代理模式

定义 为其他对象提供一种代理以控制对这个对象的访问. 案例 对一个对象进行访问控制的原因在于只有确实需要这个对象的时候,才会进行创建和初始化.比如一个文件编辑系统,要打开一个文件,但是文件里边除了文字,还有许多的图片.而打开文件的时候,屏幕只有那么大,不一定能完整的显示.为了提升打开文件的速度,这时候不能显示的图片就可以延迟创建,在需要显示的时候才把它创建处对象,再显示出来,这时候就需要代理模式: ImageProxy就是Image的一个代理,只有需要画Image的时候,才会去创建Image对象

ES6新特性:Proxy代理器

ES6新特性:Proxy: 要使用的话, 直接在浏览器中执行即可, node和babel目前还没有Proxy的polyfill;,要使用的话,直接在浏览器中运行就好了, 浏览器的兼容性为:chrome>39或者firefox>18: Proxy的基本使用: Proxy如其名, 它的作用是在对象和和对象的属性值之间设置一个代理,获取该对象的值或者设置该对象的值, 以及实例化等等多种操作, 都会被拦截住, 经过这一层我们可以统一处理,我们可以认为它就是“代理器” ; Proxy是一个构造函数, 使

设计模式12: Proxy 代理模式(结构型模式)

Proxy 代理模式(结构型模式) 直接与间接 人们对于复杂的软件系统常常有一种处理手法,即增加一层间接层,从而对系统获得一种更为灵活.满足特定需求的解决方案.如下图,开始时,A需要和B进行3次通信,当增加一个C后,C和B只需要通信一次,A和C通信3次就好了. 动机(Motivation) 在面向对象系统中某些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全机制,或者需要进程外的访问等),直接访问会给使用者.或者系统结构带来很多麻烦. 如果在不失去透明操作对象的同时来管理.控制这些

Apache开启Proxy代理,实现域名端口转发

今天帮客户迁移网站,客户一个是ASPX的一个是PHP的网站,这时候有2个域名,可是php网站是Apache下的伪静态,必须要用到Apache,但是ASPX网站还必要到IIS+Mssql 然后到了这个时候,IIS+Apache都是使用的80端口,肯定会起冲突的,这时候应该怎么办呢? 那么我们只能在Apache的配置文件里面配置Proxy代理功能~! 那么简单说下Apache下Proxy代理, 首先开启Apache的Proxy代理模块 httpd.conf文件: LoadModule proxy_m

zabbix proxy 代理端安装

理论部分 Zabbix Proxy适用于大规模分布式监控场景,采用的一种分担Server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给Server,极大的减轻了Server的负载压力,使得可以支持更大规模的监控需求. 实践部分 环境: 三台机器,其中proxy和agent可以通过内网访问,proxy和server需通过公网访问 IP:180.153.51.130(server端) IP:180.163.175.40(proxy端) IP:10.100.4.