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

『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爬虫』 专栏,持续更新中
『未完待续』


相关文章:

  • 接口测试用例设计
  • 前端路径问题总结
  • 物联网实战--入门篇之(六)嵌入式-WIFI驱动(ESP8266)
  • 2024-04-04 问AI: 在深度学习中,微调是什么?
  • 大数据实验三-HBase编程实践
  • intellij idea 使用git ,快速合并冲突
  • 实现 select 中嵌套 tree 外加搜索
  • ROS 2边学边练(12)-- 创建一个工作空间
  • 提高空调压缩机能效的通用方法
  • 957: 逆置单链表
  • php获取拼多多详情api接口、商品主图
  • 算法基本概念
  • 6000000IOPS!FASS×kunpeng920全新突破
  • 小林coding图解计算机网络|基础篇01|TCP/IP网络模型有哪几层?
  • 【面试八股总结】超文本传输协议HTTP(二)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • Cookie 在前端中的实践
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Javascript编码规范
  • java第三方包学习之lombok
  • leetcode-27. Remove Element
  • Promise面试题2实现异步串行执行
  • python 学习笔记 - Queue Pipes,进程间通讯
  • python学习笔记 - ThreadLocal
  • python学习笔记-类对象的信息
  • Vim 折腾记
  • Webpack 4 学习01(基础配置)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 分布式熔断降级平台aegis
  • 浮现式设计
  • 汉诺塔算法
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 经典排序算法及其 Java 实现
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何解决微信端直接跳WAP端
  • 说说动画卡顿的解决方案
  • 小李飞刀:SQL题目刷起来!
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # Apache SeaTunnel 究竟是什么?
  • #FPGA(基础知识)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (C语言)球球大作战
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)基于IDEA的JAVA基础1
  • (转)Linq学习笔记
  • (转)setTimeout 和 setInterval 的区别
  • (转)树状数组
  • (转载)Linux网络编程入门
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 3.0 Framework已经被添加到WindowUpdate