当前位置: 首页 > news >正文

【基础】【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

相关文章:

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

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

【 YOLOv5】目标检测 YOLOv5 开源代码项目调试与讲解实战(3)-训练yolov5模型(本地)

训练yolov5模型(本地) 训练文件 train.py训练如下图 一些参数的设置weights:对于weight参数,可以往Default参数中填入的参数有 cfg:(缩写)cfg参数可以选择的网络模型 data对于data hyp 超参数epochs 训练多…...

fastApi 项目部署

方式一,Uvicorn部署 Run a Server Manually - Uvicorn - FastAPI 1,linux服务器安装 python>3.8 2,安装 uvicorn : pip install "uvicorn[standard]" 3,上传项目到服务器 main.py from typing imp…...

python操作mysql数据库

说明:这里仅仅为了演示python操作MySQL数据库,真实环境中,最好把CURD分别封装为对应的方法。并将这些方法在类中封装,体现python面向对象的特征。python链接MySQL数据库 建表 create database mydb; use mydb; create table EMP…...

Redis6.0 Client-Side缓存是什么

前言 Redis在其6.0版本中加入了Client-side caching的支持,开启该功能后,Redis可以将指定的key-value缓存在客户端侧,这样当客户端发起请求时,如果客户端侧存在缓存,则无需请求Redis Server端。 Why Client-side Cac…...

Leetcode—1572.矩阵对角线元素的和【简单】

2023每日刷题&#xff08;七十三&#xff09; Leetcode—1572.矩阵对角线元素的和 实现代码 class Solution { public:int diagonalSum(vector<vector<int>>& mat) {int n mat.size();if(n 1) {return mat[0][0];}int sum 0;int i 0, j n - 1;while(i &…...

基于SpringBoot的二手手机商城系统的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的二手手机商城系统的设计…...

OpenFeign相关面试题及答案

1、什么是OpenFeign&#xff0c;它如何简化远程服务调用&#xff1f; OpenFeign是一个声明式的Web服务客户端&#xff0c;它使得编写HTTP客户端变得更加容易。它属于Spring Cloud Netflix项目的一部分&#xff0c;可以与Spring Boot应用轻松集成。通过使用OpenFeign&#xff0…...

c盘扩容时,d盘无法删除卷问题

C盘扩容时&#xff0c;磁盘管理中D盘右键无法删除卷的原因 首先&#xff0c;D盘下文件夹为空&#xff0c;但是显示可用空间不是100%&#xff0c;经过排查&#xff0c;发现是虚拟内存设置在了D盘导致无法删除卷&#xff0c;这里只需要将虚拟内存放到其他盘&#xff0c;如E盘即可…...

NumPy 中级教程——广播(Broadcasting)

Python NumPy 中级教程&#xff1a;广播&#xff08;Broadcasting&#xff09; 在 NumPy 中&#xff0c;广播是一种强大的机制&#xff0c;它允许不同形状的数组在进行操作时&#xff0c;自动进行形状的调整&#xff0c;使得它们能够完成一致的运算。广播使得对数组的操作更加…...

python-39-flask+nginx+Gunicorn的组合应用

flask nginx Gunicorn 王炸 1 flasknginxgunicornsupervisor 1.1 myapp.py from flask import Flask app Flask(__name__)app.route("/") def test_link():return "the link is very good"if __name__"__main__":app.run()默认是5000端口…...

C#-CSC编译环境搭建

一.Microsoft .NET Framework 确保系统中安装Microsoft .NET Framework相关版本下载 .NET Framework 4.7 | 免费官方下载 (microsoft.com)https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net47 二.编译环境搭建 已经集成编译工具csc.exe,归档至gitcode,实现us…...

【JVM】一文掌握JVM垃圾回收机制

作为Java程序员,除了业务逻辑以外,随着更深入的了解,都无法避免的会接触到JVM以及垃圾回收相关知识。JVM调优是一个听起来很可怕,实际上很简单的事。 感到可怕,是因为垃圾回收相关机制都在JVM的C++层实现,我们在Java开发中看不见摸不着;而实际很简单,是因为它说到底,也…...

【AIGC风格prompt】风格类绘画风格的提示词技巧

风格类绘画风格的提示词展示 主题&#xff1a;首先需要确定绘画的主题&#xff0c;例如动物、自然景观、人物等。 描述&#xff1a;根据主题提供详细的描述&#xff0c;包括颜色、情感、场景等。 绘画细节&#xff1a;描述绘画中的细节&#xff0c;例如表情、纹理、光影等。 场…...

vue exceljs json数据转excel

json数据转excel 有时候我们会遇到这样一个需求&#xff0c;就是将数据转成excel下载&#xff0c;这一般都是由后端来处理&#xff0c;使用插件poi轻松搞定。如果只有少量数据&#xff0c;那么能不能避免调用后端接口&#xff0c;前端直接处理呢&#xff1f; 答案是&#xff…...

Navicat for MySQL 创建函数——报错1418

解决方法 1查看是否开启了创建函数的功能 输入下面语句查看是否开启了创建函数的功能 show variables like %func%; 下面为创建函数功能为开启的查询结果 如果不是上面的结果可以用下面的语句修改为开启 set GLOBAL log_bin_trust_function_creatorstrue; //或 set GLOBAL …...

java球队信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web球队信息管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5…...

设计模式(4)--对象行为(7)--观察者

1. 意图 定义对象间的一种一对多的依赖关系&#xff0c; 当一个对象的状态改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 2. 四种角色 抽象目标(Subject)、具体目标(Concrete Subject)、抽象观察者(Observer)、 具体观察者(Concrete Observer) 3. 优点 3.1 …...

MySQL所有常见问题

一、事务 定义:一组操作要么全部成功,要么全部失败,目的是为了保证数据最终的一致性 在MySQL中,提供了一系列事务相关的命令: start transaction | begin | begin work:开启一个事务commit:提交一个事务rollback:回滚一个事务事务的ACID 原子性(Atomicity):当前事…...

锐捷交换机配置 SNMP

配置步骤 ( SNMP v2 ) 步骤一 -- 创建共同体(Community) ruijie(config)#snmp-server community test rw # rw 为读和写口令ruijie(config)#snmp-server community public ro # ro 为只读和写口令这里的共同体为“test”,通常只读口令和读写口令单独配置,提升安…...

Windows 10 安装和开启VNCServer 服务

Windows 10 安装和开启VNCServer 服务 登录云服务器 使用本地RDP登录到配置VNCServer服务的Windows10系统的云服务器。 下载VNC Server安装包 打开官网下载VNCServer安装包 URL&#xff1a;https://www.realvnc.com/en/connect/download/vnc/windows/ 安装VNC Server 双击…...

js遍历后端返回的集合将条件相同的放入同一个数组内

项目场景&#xff1a; echarts折线图需要根据条件动态展示多条不同曲线 解决方案&#xff1a; 后端直接将使用sql将数据查询出来返回即可,因为我这里不是Java使用的C#不是很熟练后台不好写逻辑,所以在前端js完成的 代码如下: function createline(villagename, buildingname…...

GcExcel:DsExcel 7.0 for Java Crack

GcExcel:DsExcel 7.0-高速 Java Excel 电子表格 API 库 Document Solutions for Excel&#xff08;DsExcel&#xff0c;以前称为 GcExcel&#xff09;Java 版允许您在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以部署在任何地方。 创建、加载、…...

基于SpringBoot的职业生涯规划系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的职业生涯规划系统,java…...

基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现

基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现前言介绍&#xff1a;系统设计&#xff1a;系统开发流程用户登录流程系统操作流程 功能…...

PyTorch中常用的工具(5)使用GPU加速:CUDA

文章目录 前言4 使用GPU加速&#xff1a;CUDA5 小结 前言 在训练神经网络的过程中需要用到很多的工具&#xff0c;最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块&#xff0c;合理使用这些工具可以极大地提高编程效率。 由于内容较多&am…...

Qt+opencv 视频分解为图片

最近遇到一些售前提供的BUG&#xff0c;但是他们提供的是录像视频&#xff0c;因为处理显示速度比较快&#xff0c;因此很难找到出现问题的位置。需要反复播放&#xff0c;自己编写了一个视频分解成图片这样就可以一张图一张图的对比&#xff0c;方便查看。 开发环境 qtopenv…...

一篇文章认识微服务的优缺点和微服务技术栈

目录 1、微服务 2、微服务架构 3、微服务优缺点 3.1 优点 3.2 缺点 4、微服务技术栈 1、微服务 微服务化的核心就是将传统的一站式应用&#xff0c;根据业务拆分成一个一个的服务&#xff0c;彻底地去耦合&#xff0c;每一个微服务提供单个业务功能的服务&#xff0c;一…...

[spark] dataframe的数据导入Mysql5.6

在 Spark 项目中使用 Scala 连接 MySQL 5.6 并将 DataFrame 中的数据保存到 MySQL 中的步骤如下&#xff1a; 添加 MySQL 连接驱动依赖&#xff1a; 在 Spark 项目中&#xff0c;你需要在项目的构建工具中添加 MySQL 连接驱动的依赖。 如果使用 Maven&#xff0c;可以在 pom.xm…...

2023年度业务风险报告:四个新风险趋势

目录 倒票的黄牛愈加疯狂 暴增的恶意网络爬虫 愈加猖獗的羊毛党 层出不穷的新风险 业务风险呈现四个趋势 防御云业务安全情报中心“2023年业务风险数据”统计显示&#xff0c;恶意爬虫风险最多&#xff0c;占总数的37.8%&#xff1b;其次是虚假账号注册&#xff0c;占18.79%&am…...