requests使用代理IP
一、为什么使用代理IP
我们去爬取一些网站信息时,会把我们机器的IP也传递给目标网站,如果目标网站设置了反扒机制,比如检测单个IP的访问频率,如果频率超过某个阀值,则直接拒绝访问。举个例子,安居客网设定,单个IP一秒的访问频率不能超过30次,如果超过30次,拒绝该IP的访问需求,如果是手动点击访问,一秒钟30次确实足够了,但是如果是爬虫,呵呵呵,很简单就超过这个频率了。
针对上面说的问题,为了能正常爬取数据,只有2个办法,一是降低爬取速度,将其控制在网站规定的阀值范围内(这个就不考虑了,写爬虫就是为了速度,现在主动减速,还写爬虫干嘛?);二是切换IP访问,可以在固定时间段后,通过切换IP继续爬取,这样即使之前爬取过快被封IP了,我换一个就是了。
二、使用代理IP的原理
代理IP使用的原理如下图,本来爬虫是直接从本机到目标网站的,现在多了一步,先到代理机,再由代理机去访问目标网站,这样目标网站就不知道我们本机的信息,如果封IP,封的也是代理机的IP,跟本机无关。
当然,使用代理IP的代价是时间的消耗,直观上看,我们的访问多了中间的传导,肯定是会多花一些时间的。
三、requests使用代理IP的方法
3.1、使用代理IP前,我们总要知道自己的IP是多少吧?
查看本机IP可以用2个网站:
https://www.ipip.net/ 、 http://httpbin.org/ip/
在你本机的浏览器上打开任一网站,就能在网页上看到自己的IP ,以第一个网站举例
3.2、代理IP到哪里找?
很多网站上有公布免费代理IP,我自己常用的就两个:
西刺:http://www.xicidaili.com/
快代理:https://www.kuaidaili.com/free/
3.3、requests使用代理IP
requests使用代理其实很简单,就是在请求方法中加一个proxies参数罢了,示例代码如下
import requestsurl = 'http://httpbin.org/ip'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' }
proxy = {'http':'115.28.148.192:8118'}#这里的ip可以到块代理网站上找,但是及其不稳定,真正使用时可以去买一个resp = requests.get(url,headers=headers,proxies=proxy)
print(resp.text)
requests使用代理IP相关推荐
- python使用代理爬虫_python爬虫requests使用代理ip
python爬虫requests使用代理ip 一.总结 一句话总结: a.请求时,先将请求发给代理服务器,代理服务器请求目标服务器,然后目标服务器将数据传给代理服务器,代理服务器再将数据给爬虫. b. ...
- requests模块代理IP池搭建视频爬取
requests模块&代理IP池搭建 一 requests模块使用 1.1 get请求 1.2 url编码和解码 1.3 携带请求头 1.4 携带cookie 1.5 发送post请求 1.6 ...
- 爬虫笔记7:requests设置代理IP
一.为什么要设置代理IP 爬虫爬取网站时,如果被对方识别是爬虫,就很可能被封号(即不能访问该网站). 二.怎么获取IP 1.通过网站:https://www.ipip.net/(获取外网IP) 2.通 ...
- requests.get代理ip使用中requusts.eceptions.ProxyError错误
经过 前一段时间使用requests.get命令代理ip时,一直出现ProxyError错误,菜鸟从来没用过这个命令,所以搞不清楚是自己程序的错误还是python环境搭建的问题.查了很多大神的文章,有 ...
- 【python分布爬虫】1-3.requests使用代理ip
使用代理: 使用requests添加代理也非常简单,只要在请求的方法中(比如get或者post)传递proxies参数就可以了. (当发送请求过多,并且ip地址是同一个ip地址,当真实的ip地址被目标 ...
- python requests 代理ip_python requests 测试代理ip
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 20220624 登录和代理ip
20220624 登录和代理ip reques的登录反爬 python from selenium.webdriver import Chrome, ChromeOptions #1. 创建配置对象 ...
- python爬虫如何使用代理ip
目录 python requests和selenium使用代理ip requests使用代理ip selenium使用代理ip selenium工具被浏览器检测出来 python requests和s ...
- day 5-登录和代理IP学习总结
day 5-登录和代理IP 1. 京东商品 from selenium.webdriver import Chrome, ChromeOptions import time, csv, os from ...
最新文章
- LruCache缓存机制
- Zabbix实战之客户端自动注册
- LogSegment分析
- java每个月某天,java – 查找一年中的某一天
- 大数据营销有哪些价值
- 如何实现一个HTML5 RPG游戏引擎——第二章,实现烟雨和雪飞效果
- c语言 图书管理系统
- 安科瑞综合能效管理系统在数据中心的应用
- python兼职能挣多少钱-副业赚钱干货【4】Python程序员变现之路
- STP配置 HSRP配置 端口追踪
- Unity开发手游常用适配分辨率
- C#把文字放到图片上
- 处理Maven本地仓库.lastUpdated文件
- ios airplay mirroring镜像
- 知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇
- 试证明:已知二叉树的前序序列和中序序列,可以唯一确定该二叉树
- 程序员也要学英语——倒装、强调和省略
- 教你怎样操作编辑PDF文件,修改PDF上的文字
- 工程造价课程-广联达GTJ2018功能介绍-新手看下
- matlab网络图,Matlab实现网络拓补图