【基础】【Python网络爬虫】【13.免费代理与付费代理】(附大量案例代码)(建议收藏)

Python网络爬虫基础

  • 一、免费代理
    • 1. 什么是代理IP
    • 2. 代理IP的类型
    • 3. 代理IP的作用
    • 4. 免费代理的潜在风险
    • 5. 免费代理网站
  • 二、付费代理
    • 1. 找付费代理服务站点
    • 2. 生成获取代理的api接口
    • 3. python获取代理
      • 请求接口示例
      • 数据返回示例
    • 4. 解决请求速率
    • 5. 品易代理使用注意事项
      • 代理添加白名单
      • 请求速率问题

一、免费代理

网络上有大量免费且公开的代理可以供我们使用,但这些代理并不能保证都可以使用,因为同样的代理可能被其他人拿来爬虫使用而遭到封禁,因此,在真正使用之前,我们需要对这些免费代理进行筛选,剔除那些不能使用的。保留下可以用的,来构建一个代理池,供我们爬虫使用。

因此我们首先需要在网络中寻找免费的代理数据, 然后搭建一个代理服务去筛选可用的代理,通过链接接口的形式供爬虫项目去调用。

1. 什么是代理IP

代理IP,又称代理服务器,是网络信息的中转站,它是介于浏览器和Web服务器之间的一台服务器。

Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

2. 代理IP的类型

代理类型大致分为三类。透明代理、普匿代理、透明代理。

透明代理传送的依然是真实IP地址,客户端不知道代理服务器的存在。

普匿代理可以隐藏用户真实IP,但会改变请求信息,使对方服务器识别出使用了动态ip代理。

高匿代理能够隐藏用户的真实IP地址,同时不会被识别为代理。

3. 代理IP的作用

1.解决网络延时,提高运行速度。

2.可做防火墙,提高安全性。

3.影藏IP地址,保护个人信息。

4.突破访问地址限制。

4. 免费代理的潜在风险

  • 列入黑名单的 IP:数十万甚至数百万用户使用免费代理。因此,这些 IP 被各种网站列入黑名单的可能性很高,因此很难找到干净的 IP。
  • 缺乏安全性:大多数免费代理服务不允许使用 HTTPS 协议,从而使您与服务器的连接未加密。因此,您的数据很容易被跟踪,尤其是帐户详细信息和密码等敏感信息。
  • Cookie 盗窃:除了被跟踪之外,在使用不受保护的免费代理服务器时,您的登录 Cookie 也容易被盗窃。
  • 恶意软件的可能性:由于缺乏安全措施,恶意行为者可能会利用免费代理服务器注入广告或有害脚本。
  • 缺乏加密:大多数免费代理服务器不支持 HTTPS,这意味着它们缺乏加密。连接到未加密的服务器可能会让不良行为者监视您的流量并获取敏感数据,例如凭据或私人通信。

实际上,免费代理的核心风险,就是欺骗用户通过它们中继流量并不情愿地交出敏感数据。

5. 免费代理网站

#  高可用全球免费代理IP库
http://ip.jiangxianli.com
# 西拉代理
http://www.xiladaili.com/
# 神鸡代理
http://www.shenjidaili.com/
# 89免费代理
http://www.89ip.cn/index.html
# 极速代理
https://www.superfastip.com/
# 云代理
http://www.ip3366.net/free/
# 米扑代理
https://proxy.mimvp.com/
# 快代理
https://www.kuaidaili.com
# pzzqz代理
https://pzzqz.com/
# 小幻代理
https://ip.ihuan.me/
# 66代理
http://www.66ip.cn/
# 免费代理IP
http://ip.yqie.com/ipproxy.htm
# 无忧代理
http://www.data5u.com/
# 全网代理IP
http://www.goubanjia.com/
# seo方代理 
https://seofangfa.com/proxy/
# 小舒代理 
http://www.xsdaili.cn/
# 飞猪代理 
https://www.feizhuip.com/
# 齐云代理
https://www.7yip.cn/free/
# 爬虫代理 
http://www.pachongdaili.com/free/freelist1.html

二、付费代理

1. 找付费代理服务站点

搜索代理ip,能够发现有很多付费代理服务站点
在这里插入图片描述
目前付费代理站点一般注册后,会有免费的测试代理用量,学习阶段用免费的做测试就够用了。不过现在代理网站普遍都需要实名认证,也会有站点的工作人员联系你添加联系方式,额外也会送你一些ip测试。

代理服务网站:品易HTTP,用其他网站的代理服务也可以,使用方法大同小异

品易HTTP网址:https://http.py.cn?invitation_code=BX1YBHg2YEl8IHEOVQR/WHhRWl5nYV1uXw5kJiAFLlYqYwowPy4=

在这里插入图片描述
手机号注册,登录后实名认证,即可到账免费测试金额
在这里插入图片描述

2. 生成获取代理的api接口

根据情况自选选项,生成获取代理的api接口。
在这里插入图片描述

3. python获取代理

请求接口示例

import requestsdef get_proxy():url = 'http://zltiqu.pyhttp.taolop.com/getip?count=1&neek=13873&type=2&yys=0&port=2&sb=&mr=2&sep=0'proxy_json = requests.get(url=url).json()print('获取的代理:', proxy_json)ip = proxy_json['data'][0]['ip']port = str(proxy_json['data'][0]['port'])proxies = {# "http": "http://" + ip + ':' + port,"https": "http://" + ip + ':' + port,}return proxiesif __name__ == '__main__':proxies = get_proxy()print('代理:', proxies)# 使用代理发送请求response = requests.get(url='https://www.baidu.com', proxies=proxies)print(response.text)

数据返回示例

{'code': 0, 'data': [{'ip': '223.214.30.18', 'port': 64257}], 'msg': '0', 'success': True}

获取到代理ip后,即可在requests请求的时候,携带proxies关键字参数进行代理伪装的请求。

4. 解决请求速率

import requestsdef get_proxy():url = 'http://zltiqu.pyhttp.taolop.com/getip?count=1&neek=13873&type=2&yys=0&port=2&sb=&mr=2&sep=0&username=chukou01&spec=1'proxy_json = requests.get(url=url).json()print('获取的代理:', proxy_json)# ip = proxy_json['data'][0]['ip']# port = str(proxy_json['data'][0]['port'])## proxies = {#     # "http": "http://" + ip + ':' + port,#     "https": "http://" + ip + ':' + port,# }# return proxiesif __name__ == '__main__':# 默认情况下此平台对请求速率有限制for i in range(3):proxies = get_proxy()print('代理:', proxies)# 一般192.168.xxx.xxx  局域网ip
# 一般xxx.xxx.xxx.xxx  公网ip都不一样

5. 品易代理使用注意事项

代理添加白名单

一个项目中使用到了课程中这个平台的代理,然后项目打包发送给其他人使用的时候,会导致不可用。原因是品易HTTP这个代理平台仅针对白名单ip发送的请求才会返回代理数据,如果没有请求ip没有在白名单中,那么返回的数据中会提示ip不在白名单,如下所示:
在这里插入图片描述
那么需要将此代理在用户个人中心页面添加白名单:
在这里插入图片描述

请求速率问题

默认情况下品易HTTP这个平台请求接口请求的速率是2秒钟,速度过快会不返回代理数据,如下所示:
在这里插入图片描述
通过询问平台客服得知在请求代理的api接口地址中添加如下查询参数即可解决:

&username=chukou01&spec=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb之Mybatis入门程序的详细解析

1.2 入门程序实现 1.2.1 准备工作 1.2.1.1 创建springboot工程 创建springboot工程&#xff0c;并导入 mybatis的起步依赖、mysql的驱动包。 项目工程创建完成后&#xff0c;自动在pom.xml文件中&#xff0c;导入Mybatis依赖和MySQL驱动依赖 <!-- 仅供参考&#xff1a;只…

Vue3+ElementPlus: 给点击按钮添加触发提示

一、需求 在Vue3项目中&#xff0c;有一个下载按钮&#xff0c;当鼠标悬浮在按钮上面时&#xff0c;会出现文字提示用户可以点击按钮进行数据的下载技术栈 Vue3 ElementPlusTooltip组件 ElementPlus中的Tooltip组件 &#xff0c;可用于展示鼠标 hover 时的提示信息 二、实现…

App.vue中引入自定义组件

components目录中定义组件&#xff1a;Person.vue 目录截图&#xff1a; Person.vue文件中内容&#xff1a; <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><!--定义了…

期权二叉树估值与图计算

传统期权二叉树的算法都是基于数组的&#xff0c;对于没有编程基础的人来说非常不直观。二叉树是一种特殊的图&#xff0c;可以用python networkx这个图算法库实现&#xff0c;这个库不仅包含常用的图算法&#xff0c;还包含简单的绘图功能&#xff0c;非常适合研究分析使用。 …

Java-反射

一、什么是反射&#xff1f; 反射允许对封装类的成员变量&#xff0c;成员方法和构造方法的信息进行编程访问。 反射可以把成员变量、成员方法、构造方法挨个儿的都获取出来&#xff0c;并对它们进行操作。 IDEA中自动提示的功能就是用反射来做的。 Ctrlp&#xff1a;快捷键&…

Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题

Java项目调试实战&#xff1a;如何高效调试Spring Boot项目中的GET请求&#xff0c;并通过equalsIgnoreCase解决大小写不一致问题 写在最前面全部过程Java equalsIgnoreCase() 方法idea中如何调试SpringBoot项目在IntelliJ IDEA中使用内置HTTP客户端设置断点和调试 补充&#x…

vu3-14

第一个需求是在用户登录成功之后&#xff0c;在主页显示用户的真实姓名和性别&#xff0c;这些信息要调用后端API获取数据库里面的信息&#xff0c;第二个需求是点击菜单1&#xff0c;在表单中修改用户信息之后&#xff0c;更新到后端数据库&#xff0c;然后在主页同步更新用户…

FA模板制作

1、链接克隆模板的制作 &#xff08;1&#xff09;安装一个全新的Windows 10&#xff0c;挂载并安装tools&#xff0c;关闭防火墙 &#xff08;2&#xff09;挂载FusionAccess_WindowsDestop_Install_6.5.1.iso后启用本地Administrator本地超管&#xff0c;切换为本地超管&am…

spring、springmvc、springboot、springcloud简介

spring简介 spring是什么&#xff1f; spring: 春天spring: 轻量级的控制反转和面向切面编程的框架 历史 2002年&#xff0c;首次推出spring雏形&#xff0c;interface 21框架2004年&#xff0c;发布1.0版本Rod Johnson: 创始人&#xff0c;悉尼大学&#xff0c;音乐学博士…

Nexus私服简介及搭建(Linux3.62版本)

文章目录 一、Nexus的安装1、运行程序2、查看运行日志和初始密码3、启动配置文件的修改 二、Nexus的使用1、Nexus使用流程说明2、库类型说明2.1、maven-public库配置说明2.2、maven-central库配置说明 3、用户本地配置使用maven-public库3.1、禁用了匿名访问&#xff0c;额外需…

test mock-03-wiremock 模拟 HTTP 服务的开源工具 flexible and open source API mocking

拓展阅读 test 之 jmockit-01-overview jmockit-01-test 之 jmockit 入门使用案例 mockito-01-overview mockito 简介及入门使用 PowerMock Mock Server ChaosBlade-01-测试混沌工程平台整体介绍 jvm-sandbox 入门简介 wiremock WireMock是一个流行的开源工具&#xf…

DFA 算法实现敏感词过滤

背景 项目中APP端发帖&#xff0c;评论可能包含多个关键词&#xff0c;铭感词。此时需要对该内容进行过滤处理。此前都是在客户端层面操作&#xff0c;这样不仅带来了性能的损耗&#xff0c;而且新增铭感词时&#xff0c;需要客户端重新打包上架&#xff0c;显得十分不合理。所…

R306指纹识别模块指令系统

一&#xff1a;指令集 1. GR_GetImage 指令代码&#xff1a;01H 功能&#xff1a;从传感器上读入图像存于图像缓冲区 2. GR_GenChar 指令代码&#xff1a;02H 功能&#xff1a;根据原始图像生成指纹特征存于 CharBuffer1 或 CharBuffer2 3. GR_Match 指令代码&#xff…

SpringCloud(H版alibaba)框架开发教程,使用eureka,zookeeper,consul,nacos做注册中心——附源码(1)

源码地址&#xff1a;https://gitee.com/jackXUYY/springboot-example 创建订单服务&#xff0c;支付服务&#xff0c;公共api服务&#xff08;共用的实体&#xff09;&#xff0c;eureka服务 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.…

kubeadm来搭建k8s集群。

我们采用了二进制包搭建出的k8s集群&#xff0c;本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群&#xff0c;kubeadm更适合中小型企业的集群搭建 主机配置建议&#xff1a;2c 4G 主机节点 IP …

Spring@Scheduled定时任务与SQLSERVER distinct order by的错误吞噬

目录 Scheduled 提供的调度机制 遇到错误不会抛出 数据库SQL差异 Scheduled 提供的调度机制 cronzonefixedDelayfixedDelayStringfixedRatefixedRateStringinitialDelayinitialDelayString 上面具体怎么用自己代码定位到API上去看注释说明。 遇到错误不会抛出 在SqlSe…

【力扣题解】P700-二叉搜索树中的搜索-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P700-二叉搜索树中的搜索-Java题解&#x1f30f;题目描述&#x1f4a1;题解&#x1f…

智慧园区物联综合管理平台之架构简述

总体架构 系统总体划分为物联感知系统层、 核心平台层、 综合运营服务平台和展示层四部分。 物联感知系统层 物联感知系统主要是支撑园区智能化运行的各子系统, 包括门禁系统、 视频监控系统、 车辆管理系统等。 核心平台层 核心平台层包括: 园区物联综合管理平台和园区…

x-cmd pkg | gum - 很好看的终端 UI 命令行工具

目录 简介首次用户功能特点Bubbles 与 Lip Gloss进一步探索 简介 gum 由 Charm 组织于 2022 年使用 Go 语言开发。旨在帮助用户编写 Shell 脚本与 dotfiles 时提供一系列快捷使用&#xff0c;可配置&#xff0c;可交互&#xff0c;美观的 Terminal UI 组件。 首次用户 使用 x…

[Angular] 笔记 25:指令

组件指令 (chatgpt 回答) 在 Angular 中&#xff0c;组件本身可以被视为指令&#xff0c;这种指令被称为组件指令。组件是 Angular 应用的构建块之一&#xff0c;它封装了一段具有特定功能和特性的用户界面&#xff0c;并且可以在应用中重复使用。 组件指令具有以下特征&…