用正则表达式打造免费代理IP池
爬虫的过程中,当对方服务器发现你屡次爬取它,可能会遇到被封IP的苦痛,这时IP就应该换啦,打造IP池的意义十分重要,提供免费IP网站有很多,本次用的是西刺代理IP
# -*- coding: utf-8 -*-
"""
Created on Fri May 11 09:02:12 2018@author: JJ
"""
import urllib.request
import re
def get_proxy(n):url = 'http://www.xicidaili.com/nn/{}'.format(n)headers = ('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]urllib.request.install_opener(opener)html = opener.open(url).read().decode('utf8')ip_port_list = re.findall(r'<tr class(.*?)</tr>',html,re.S)proxy_list = []for i in ip_port_list:ip = re.findall(r'\d+\.\d+\.\d+\.\d+',i)[0]port = re.findall(r'<td>(\d+)</td>',i)[0]proxy = '{}:{}'.format(ip,port)proxy_list.append(proxy)print(proxy_list)if __name__=='__main__':get_proxy(1)
这段代码是爬取第一页,仅仅做个示范,大家可以在下面写个for循环,多爬几页也是可以的,来看看输出结果:
接下来来看看刚才做的IP池能不能用,或者说效率怎么样。测试网站http://httpbin.org/ip,话不多说上代码:
# -*- coding: utf-8 -*-
"""
Created on Fri May 11 09:02:12 2018@author: JJ
"""
import urllib.request
import re
import time
import random
def get_proxy(n):url = 'http://www.xicidaili.com/nn/{}'.format(n)headers = ('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]urllib.request.install_opener(opener)html = opener.open(url).read().decode('utf8')ip_port_list = re.findall(r'<tr class(.*?)</tr>',html,re.S)proxy_list = []for i in ip_port_list:ip = re.findall(r'\d+\.\d+\.\d+\.\d+',i)[0]port = re.findall(r'<td>(\d+)</td>',i)[0]proxy = '{}:{}'.format(ip,port)proxy_list.append(proxy)return proxy_listdef proxy_read(proxy_list,i):proxy = proxy_list[i]print('当前IP为:{}'.format(proxy))sleep_time = random.randint(1,3)print('等待{}秒'.format(sleep_time))time.sleep(sleep_time)print('开始测试')proxy_jj = urllib.request.ProxyHandler({'http':proxy})opener = urllib.reequest.build_opener(proxy_jj,urllib.request.HTTPHandler)urllib.request.install_opener(opener)try:html = urllib.request.urlopen('http://httpbin.org/ip')rhtml = html.read()print(rhtml)except Exception as e:print(e)print('-------IP不能用------')if __name__=='__main__':proxy_list = get_proxy(1)print('开始测试')for i in range(100):proxy_read(proxy_list,i)
结果如上图,总得来说,代码很简单,好啦,end啦,下一篇文章‘用xpath打造免费IP池‘。敬请期待
相关文章:
用正则表达式打造免费代理IP池
爬虫的过程中,当对方服务器发现你屡次爬取它,可能会遇到被封IP的苦痛,这时IP就应该换啦,打造IP池的意义十分重要,提供免费IP网站有很多,本次用的是西刺代理IP # -*- coding: utf-8 -*- """…...
【每日刷题】Day35
【每日刷题】Day35 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 844. 比较含退格的字符串 - 力扣(LeetCode) 2. 2487. 从链表中移除节点 - 力…...
Python数据清洗与可视化实践:国际旅游收入数据分析
文章目录 概要整体流程名词解释NumPyPandasMatplotlibre 技术细节数据清洗可视化 小结 概要 在本篇博客中,我们将通过一个实际的案例,演示如何使用Python进行数据清洗和可视化,以分析国际旅游收入数据。我们将使用Python中的Pandas库来进行数…...
前置知识储备
基本认知 什么是模式 在一定环境中解决一些问题的方案(通俗来说:特定环境中用固定的套路解决问题) 什么是设计模式 设计模式是一套反复被人使用,多数人知晓的,经过分类编目的代码设计经验的总结 设计模式最终的目…...
六月品牌互动营销方案的作用是什么
品牌需要借势营销,六月的六个节日热点,是企业商家不能错过的,如何运用合适的工具/方法借势也同样重要。 互动h5游戏/传单页面发挥不同效果,这份《六月品牌互动营销方案》看看有哪些内容吧~ 1、儿童节 宜:回忆欢乐营销…...
dummy_worker C++ 预占用部分比例cpu资源,人为创造cpu资源紧张
背景 有时候为了C测试程序在cpu资源紧张情况下是否正常,需要人为创造cpu资源紧张 编译方法 g -o dummp_worker dummp_worker.cpp -stdc11 -pthread 使用方法 ./dummp_worker 4 0.2 占用4个cpu核的20%比例的cpu资源 源码 // dummp_worker.cpp #include <c…...
电脑缺失opencl.dll怎么办,轻松解决opencl.dll的多种方法分享
当我们在操作电脑过程中遇到系统提示“由于找不到opencl.dll,无法继续执行代码”,这个错误会导致软件应用无法正常运行。OpenCL.dll作为一个与Open Computing Language(开放计算语言)相关的动态链接库文件,它在执行需要…...
el-select 点击按钮滚动到选择框顶部
主要代码是在visibleChange 在这个 popper 里面找到 .el-select-dropdown__list let popper ref.$refs.popper const ref this.$refs.select let dom popper.querySelector(.el-select-dropdown__list) setTimeout(() > { dom.scrollIntoView() }, 800) <templat…...
vue 钩子函数updated什么时候触发
触发时机 updated是Vue生命周期钩子函数之一,在组件的数据变化导致虚拟DOM重新渲染并应用到实际DOM之后触发。具体来说,updated会在以下几种情况下被触发: 初始渲染完成后:当组件首次渲染完成并将虚拟DOM渲染到实际DOM之后&#…...
消息队列使用常见问题
一、消息丢失的时机? 生产端消息丢失 问题:因为网络异常导致消息发送失败,此时可能会产生消息丢失的情况,重试后可能产生消息重复生产的情况。 解决:超时重试,并在消费端保证幂等性。 消息队列中消息丢失 …...
常用SQL命令
应用经常需要处理用户的数据,并将用户的数据保存到指定位置,数据库是常用的数据存储工具,数据库是结构化信息或数据的有序集合,几乎所有的关系数据库都使用 SQL 编程语言来查询、操作和定义数据,进行数据访问控制&…...
【neteq】tgcall的调用、neteq的创建及接收侧ReceiveStatisticsImpl统计
G:\CDN\P2P-DEV\Libraries\tg_owt\src\call\call.cc基本是按照原生webrtc的来的:G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.cpptg对neteq的使用 worker 线程创建call Call的config需要neteqfactory Call::CreateAu…...
使用Python读取las点云,写入las点云,无损坐标精度
目录 1 为什么要写这个博文2 提出一些关键问题3 给出全部代码安装依赖源码(laspy v2.x) 1 为什么要写这个博文 搜索使用python读写las点云数据,可以找到很多结果。但是! 有些只是简单的demo,且没有发现/说明可能遇到的…...
python开发二
python开发二 requests请求模块 requests 是一个常用的 Python 第三方库,用于发送 HTTP 请求。它提供了简洁且易于使用的接口,使得与 Web 服务进行交互变得非常方便。 发送 GET 请求并获取响应 import requestsresponse requests.get("https:/…...
部署JVS服务出现上传文件不可用,问题原因排查。
事情的起因是这样的,部门经理让我部署一下JVS资源共享框架,项目的地址是在这里 项目资源地址 各位小伙伴们做好了,我要开始发车了,全新的“裂开之旅” 简单展示一下如何部署JVS文档 直达链接 撕裂要开始了 本来服务启动的好好…...
机器视觉检测为什么是工业生产的刚需?
机器视觉检测在工业生产中被视为刚需,主要是因为它具备以下几个关键优势: 提高精度与效率:机器视觉系统可以进行高速、高精度的检测。这对于保证产品质量、减少废品非常关键。例如,在生产线上,机器视觉可以迅速识别产品…...
Adobe系列软件安装
双击解压 先运行Creative_Cloud_Set_Up.exe。 完毕后,运行AdobeGenP.exe 先Path,选路径,如 C:\Program Files\Adobe 后Search 最后Patch。 关闭软件,修图!...
【FX110】2024外汇市场中交易量最大的货币对是哪个?
作为最大、最流动的金融市场之一,外汇市场每天的交易量高达几万亿美元,涉及到数百种货币。不同货币对的交易活跃程度并不一样,交易者需要根据货币对各自的特点去进行交易。 全年外汇市场中涉及美元的外汇交易超过50%! 实际上&…...
leetcode尊享面试100题(549二叉树最长连续序列||,python)
题目不长,就是分析时间太久了。 思路使用dfs深度遍历,先想好这个函数返回什么,题目给出路径可以是子-父-子的路径,那么1-2-3可以,3-2-1也可以,那么考虑dfs返回两个值,对于当前节点node来说&…...
C#面试题: 寻找中间值
给定一个数组,在区间内从左到右查找中间值,每次查找最小值与最大值区间内的中间值,且这个区间元素数量不小于3。 例如 1.给定数组float[] data { 1, 2.3f, 4, 5.75f, 8.125f, 10.5f, 13, 15, 20 } 输出:10.5、5.75、4、2.3、8…...
卸载软件后,“打开方式”里仍有残留怎么办?我是这样在 Windows 里彻底清理掉的
有时候我们明明已经把某个软件卸载干净了,但右键文件时,“打开方式”列表里依然还能看到它。 这种情况看起来不严重,但确实很烦:一方面影响整洁,另一方面也容易让人误以为软件没有卸载干净。我最近就遇到了这个问题&am…...
macOS玩家必备:OpenClaw+nanobot自动化办公实战
macOS玩家必备:OpenClawnanobot自动化办公实战 1. 为什么选择OpenClawnanobot组合? 作为一个长期在macOS上折腾自动化工具的老用户,我一直在寻找一个既能保持本地数据隐私,又能灵活处理办公场景的解决方案。直到遇到OpenClawnan…...
open_clip多模态模型实战指南:从技术原理到产业落地
open_clip多模态模型实战指南:从技术原理到产业落地 【免费下载链接】open_clip An open source implementation of CLIP. 项目地址: https://gitcode.com/GitHub_Trending/op/open_clip 核心价值:为什么选择open_clip? 在当今AI应用…...
从滞后补偿器到PI控制:原理、设计与系统性能优化
1. 滞后补偿器与PI控制的本质联系 第一次接触滞后补偿器时,我盯着Bode图看了整整一个下午。那根缓缓下降的相位曲线就像过山车的第一道缓坡,让人隐约感觉到后面藏着什么有趣的东西。后来才明白,这个看似简单的相位滞后特性,正是理…...
MSE、MAE、Binary/Categorical Cross-Entropy、HingeLoss五种损失函数的典型应用场景
目录第一类:回归任务(预测具体数值)👓1. MSE (均方误差) —— 重罚离群点👓2. MAE (平均绝对误差) —— 鲁棒性强第二类:分类任务(判断属于哪一类)👓3. Binary Cross-Ent…...
【Unity3D】从零打造动态天空盒:Cubemap生成与实时环境映射实战
1. 动态天空盒的核心原理与场景价值 第一次在Unity里看到动态天空盒效果时,我盯着屏幕愣了三秒——云层在头顶流动,夕阳的光影实时投射在建筑表面,整个场景瞬间有了生命力。这种魔法般的体验,其实都建立在立方体贴图(C…...
别再手动比对了!用Python+PyTorch搭建你的第一个遥感变化检测模型(附实战代码)
用PythonPyTorch实现遥感变化检测:从数据预处理到模型部署全流程指南 遥感影像的变化检测技术正在城市规划、环境监测、灾害评估等领域发挥越来越重要的作用。传统人工比对方法效率低下,而基于深度学习的自动化解决方案正在重塑这个领域的技术格局。本文…...
Claude模型选型指南:Opus/Sonnet/Haiku三大系列在真实项目中的性能价格对比
Claude模型选型实战:Opus/Sonnet/Haiku三大系列性能与成本深度评测 1. 企业级AI选型的核心考量 在构建商业AI解决方案时,技术决策者往往面临模型选型的复杂权衡。Anthropic推出的Opus、Sonnet和Haiku三大系列,分别针对不同规模和应用场景的…...
ONNX Runtime C++部署踩坑记:GetInputName已弃用,手把手教你改用GetInputNameAllocated
ONNX Runtime C部署实战:从GetInputName到GetInputNameAllocated的平滑迁移指南 在深度学习模型部署的生态系统中,ONNX Runtime凭借其跨平台特性和高性能推理能力,已成为工业界广泛采用的推理引擎。然而,随着其C API的迭代升级&a…...
构建智能游戏AI的理想训练场:腾讯王者荣耀AI开放环境全解析
构建智能游戏AI的理想训练场:腾讯王者荣耀AI开放环境全解析 【免费下载链接】hok_env Honor of Kings AI Open Environment of Tencent 项目地址: https://gitcode.com/gh_mirrors/ho/hok_env 强化学习研究如何突破理论到实践的鸿沟?如何在真实游…...
