『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录

    • 注册 实名
    • 得到API链接和账密
  • Python3
    • requests调用
    • Scpay
    • 总结


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

注册 实名

注册巨量http
用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的
在这里插入图片描述
在这里插入图片描述


得到API链接和账密

初次测试建议你提取数量设置为1,api链接会用到
在这里插入图片描述
用户名和密码后面会用到
在这里插入图片描述


Python3

官方文档URLhttps://www.juliangip.com/help/sdk/http/#python3

requests调用

注意这里的返回格式是txt,修改下面的api和用户名密码即可使用
在这里插入图片描述

"""
使用requests请求代理服务器
请求http和https网页均适用
"""import requests# 提取代理API接口,获取1个代理IP
# api_url = "http://v2.api.juliangip.com/dynamic/getips?num=1&pt=1&result_type=text&split=1&trade_no=1834987042xxxxxx&sign=9e489baa3bf149593f149d7252efd006"
api_url = 'API链接'# 获取API接口返回的代理IP
proxy_ip = requests.get(api_url).text# 用户名密码认证(动态代理/独享代理)
username = "用户名"
password = "密码"proxies = {
"http": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password, "proxy": proxy_ip},
"https": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password, "proxy": proxy_ip},
}# 白名单方式(需提前设置白名单)
# proxies = {
#     "http": "http://%(proxy)s/" % {"proxy": proxy_ip},
#     "https": "http://%(proxy)s/" % {"proxy": proxy_ip},
# }# 要访问的目标网页
target_url = "https://www.juliangip.com/api/general/Test"# 使用代理IP发送请求
response = requests.get(target_url, proxies=proxies)# 获取页面内容
if response.status_code == 200:print(response.text)

Scpay

下面以我的项目myscrapy为例子

在你的scrapy下新建extensions文件夹,新建JuLiang_IP_extend.py文件
在这里插入图片描述

  • JuLiang_IP_extend.py
    修改api链接和time.sleep(15)

注意这里的api的返回格式
在这里插入图片描述

import time
import threadingimport requests
from scrapy import signals# 提取代理IP的api
api_url = 'API链接'
foo = Trueclass Proxy:def __init__(self, ):self._proxy_list = requests.get(api_url).json().get('data').get('proxy_list')@propertydef proxy_list(self):return self._proxy_list@proxy_list.setterdef proxy_list(self, list):self._proxy_list = listpro = Proxy()
print(pro.proxy_list)class MyExtend:def __init__(self, crawler):self.crawler = crawler# 将自定义方法绑定到scrapy信号上,使程序与spider引擎同步启动与关闭# scrapy信号文档: https://www.osgeo.cn/scrapy/topics/signals.html# scrapy自定义拓展文档: https://www.osgeo.cn/scrapy/topics/extensions.htmlcrawler.signals.connect(self.start, signals.engine_started)crawler.signals.connect(self.close, signals.spider_closed)@classmethoddef from_crawler(cls, crawler):return cls(crawler)def start(self):t = threading.Thread(target=self.extract_proxy)t.start()def extract_proxy(self):while foo:pro.proxy_list = requests.get(api_url).json().get('data').get('proxy_list')#设置每15秒提取一次iptime.sleep(15)def close(self):global foofoo = False
  • middlewares.py
    修改用户名和密码
from scrapy import signals
from myscrapy.extensions.JuLiang_IP_extend import pro
from w3lib.http import basic_auth_header
import random
class ProxyDownloaderMiddleware:def process_request(self, request, spider):proxy = random.choice(pro.proxy_list)request.meta['proxy'] = "http://%(proxy)s" % {'proxy': proxy}# 用户名密码认证(动态代理/独享代理)request.headers['Proxy-Authorization'] = basic_auth_header('用户名', '密码')  # 白名单认证可注释此行return None
  • 修改setting.py
    启用插件和中间件
# 配置下载中间件
DOWNLOADER_MIDDLEWARES = {'myscrapy.middlewares.ProxyDownloaderMiddleware': 100,  # ip代理中间件
}# 插件路径 注意路径
EXTENSIONS = {'myscrapy.extensions.JuLiang_IP_extend.MyExtend': 300,  #ip代理拓展
}

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


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

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

相关文章

Ribbon有哪些负载均衡策略

负载均衡类都实现了IRule接口。 RandomRule:随机的选用一个实例 RoundRobinRule:轮询的使用实例 RetryRule:在轮询的基础上加了一个错误重试机制,在deadline时间内会不断的重试 WeightResponeTimeRule:根据权重去做…

55555555555555

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

《QT实用小工具·十二》邮件批量发送工具

1、概述 源码放在文章末尾 该项目实现了邮件的批量发送&#xff0c;如下图所示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef SMTPCLIENT_H #define SMTPCLIENT_H#include <QtGui> #include <QtNetwork> #if (QT_VERSION > QT_VERSION_CHECK(5,0,…

初识CSS

目录 前言&#xff1a; CSS的介绍&#xff1a; CSS的发展&#xff1a; 1&#xff09;CSS1.0&#xff1a; 2)CSS2.0: 3)CSS2.1: 4&#xff09;CSS3&#xff1a; CSS特点&#xff1a; 1&#xff09;丰富的样式定义&#xff1a; 2&#xff09;易于设置和修改&#xff1a; 3&…

彩虹聚合DNS管理系统,附带系统搭建教程

聚合DNS管理系统&#xff0c;可以实现在一个网站内管理多个平台的域名解析&#xff0c;目前已支持的域名平台有&#xff1a;阿里云、腾讯云、华为云、西部数码、CloudFlare。 本系统支持多用户&#xff0c;每个用户可分配不同的域名解析权限&#xff1b;支持API接口&#xff0…

卷积神经网络-池化层

卷积神经网络-池化层 池化层&#xff08;Pooling Layer&#xff09;是深度学习神经网络中的一个重要组成部分&#xff0c;通常用于减少特征图的空间尺寸&#xff0c;从而降低模型复杂度和计算量&#xff0c;同时还能增强模型的不变性和鲁棒性。 池化操作通常在卷积神经网络&am…

动态规划:线性dp

1.最长公共子序列(LCS) dp[i][j]含义&#xff1a;序列Ai(a1-ai)和Bj(b1-bj)的最长公共子序列长度 分析两种情况&#xff1a; &#xff08;1&#xff09;当ai bj时&#xff0c;已经求得Ai-1和Bj-1的最长公共子序列 dp[i][j] dp[i-1][j-1] 1 &#xff08;2&#xff09;当…

2024 年最新使用 Wechaty 开源框架搭建部署微信机器人(微信群智能客服案例)

读取联系人信息 获取当前机器人账号全部联系人信息 bot.on(ready, async () > {console.log("机器人准备完毕&#xff01;&#xff01;&#xff01;")let contactList await bot.Contact.findAll()for (let index 0; index < contactList.length; index) {…

第三方短信-短信合作-106短信

第三方短信-短信合作-106短信 1、你是否也有需要发送短信的业务、但是自己没有短信服务的情况 2、是否需要大量发送短信、但是又不想通过自己的真实手机号发 3、您是否是开发者、但是没有自己的短信服务&#xff0c;需要发送短信可以使用/借用我的短信服务进行发送&#xff0c…

电梯轿厢内电动车数据集,VOC标签格式已标注(数据集+训练好的权重)

本数据集用于电梯禁入电动车项目的目标检测算法模型训练任务。 共有4000张左右图片&#xff0c;全部为电梯监控真实照片&#xff0c;没有网络爬虫滥竽充数的图片&#xff0c;并已经分好数据集和验证集&#xff0c;可直接用来训练。以上图片均一一手工标注&#xff0c;标签格式为…

YoloV8改进策略:BackBone改进|ELA

文章目录 摘要1、引言2、相关工作3、方法3.1、重新审视坐标注意力3.1.1、坐标注意力3.1.2、坐标注意力的不足 3.2、高效局部注意力3.3、多个ELA版本设置3.4、可视化3.5、实现 4、实验4.1、实验细节4.2、ImageNet上的图像分类4.3、目标检测4.4、语义分割 5、结论 摘要 https://…

zdpreact_antdesginpro 研究一下react里面比较流行的一个UI框架,开发后台管理系统

首先看一下最开始的代码&#xff1a; 这里面大部分的东西都可以删掉&#xff0c;比如README&#xff0c;只留下中文的那个就可以了。 之后看看README.md中介绍的特性。 特性 &#x1f4a1; TypeScript: 应用程序级 JavaScript 的语言&#x1f4dc; 区块: 通过区块模板快速…

【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}

文章目录 1.网络常识1.0DHCP协议1. 1IP地址/MAC地址/ARP协议是什么&#xff1f;IP/MACARP&#xff1a;IP ⇒ MAC 1.2手机连接wifi的原理 SSID与BSSID手机连接wifiSSID与BSSID 1.3手机如何通过“数据/流量”上网&#xff1f;1.4电脑连接wifi的原理&#xff1f;电脑通过热点上网…

RH850P1X芯片学习笔记-Clocked Serial Interface H (CSIH)

文章目录 Features of RH850/P1x-C CSIHUnitsRegister Base AddressClock SupplyInterrupt RequestsHardware ResetExternal Input/Output Signals数据一致性检查 OverviewFunctional OverviewFunctional Overview DescriptionBlock Diagram RegistersList of RegistersCSIHnCT…

python怎么存储数据

在Python开发中&#xff0c;数据存储、读取是必不可少的环节&#xff0c;而且可以采用的存储方式也很多&#xff0c;常用的方法有json文件、csv文件、MySQL数据库、Redis数据库以及Mongdb数据库等。 1. json文件存储数据 json是一种轻量级的数据交换格式&#xff0c;采用完全…

【教学类-09-09】20240406细线迷宫图05(正方形)30格+动物+箭头(15CM横版一页-1份横版)

作品展示&#xff1a; 背景需求&#xff1a; 增加迷宫图的吸引力&#xff0c;起点的地方放一个小动物。 素材准备&#xff1a; 图片来自midjounery文生图&#xff08;四图&#xff09;&#xff0c;但同种动物只留1个&#xff08;如4个老鼠只保留一只老鼠&#xff09;&#xff…

哈希表2s总结

3.哈希表 哈希表非常常用&#xff0c;字典一般会用来保存处理过后的输入输出信息&#xff0c;集合也可以用来去重&#xff0c;这部分是重点&#xff0c;但是还是那句话&#xff0c;这种题目是不会或者说很少考原题的&#xff0c;主要还是学习知识&#xff0c;所以题目看一下答…

如何保证Redis的缓存和数据库中的数据的一致性?

Redis的缓存如何和数据库中的数据保持一致性&#xff1f; 我们都知道&#xff0c;Redis是一个基于内存的键值存储系统&#xff0c;数据完全存放在内存中&#xff0c;这使得它的读写速度远超传统的硬盘存储数据库。对于高访问频率、低修改率的数据&#xff0c;通过将它们缓存在…

intellij idea 使用git ,快速合并冲突

可以选择左边的远程分支上的代码&#xff0c;也可以选择右边的代码&#xff0c;而中间是合并的结果。 一个快速合并冲突的小技巧&#xff1a; 如果冲突比较多&#xff0c;想要快速合并冲突。也可以直接点击上图中 Apply non-conflicting changes 旁边的 All 。 这样 Idea 就会…

深入浅出 -- 系统架构之垂直架构

当业务复杂度增加、访问量逐渐增大出现高并发时&#xff0c;单体架构无法满足需求&#xff0c;可以根据业务功能对系统进行拆分&#xff0c;以提高访问效率。 垂直架构介绍 1.垂直架构一般是因为单体架构太过于庞大而进行的拆分&#xff0c;拆分后各个系统应满足独立运行互相不…