从txt中解析IP地址

2023-12-26

我正在尝试下载一个txt您可以找到的文件here http://proxy-ip-list.com/download/free-proxy-list.txt。下载文件不是问题:

    testfile = urllib.URLopener()
    testfile.retrieve(_proxy_list_download_, "proxies.txt")

但问题是,当它下载时,它的行为很奇怪。当我以任何方式打开它时txt编辑器,我可以看到内容IP地址,但是当我尝试将内容打印到控制台时,它会打印以下内容:

212.3.183.210:8080; 0; 0; anonymous proxy; Italy; ; a;  in); an Jose); ree download proxy IP

当我试图得到IP地址从那里开始,输出中没有地址。

with open('proxies.txt') as f:
            content = f.read()
            ip = re.findall( r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", content )

我已经尝试过另一个regex:

r'([0-9]+)(?:\.[0-9]+){3}' 

This regex仅返回3-digit数字。

你知道如何解析这些IP吗?

编辑:这是从文本编辑器复制+粘贴的文本,但在编辑器中所有内容都在一行中:

 # http://proxy-ip-list.com/ provides you this fresh txt proxy list to free download proxy IP
# Date: Sat, 27 Jun 2015 12:53:02 +0000

39.166.95.9:8123; 0; 0; high-anonymous; China; 
178.189.92.118:3129; 16.83; 405; high-anonymous; Austria; 
198.2.202.33:8090; 8.05; 884; anonymous; United States (CA, San Jose); 
171.96.152.89:8080; 0; 0; anonymous; Thailand; 
153.149.104.76:80; 0; 0; anonymous; Japan (Tokyo); 
106.187.52.191:80; 0; 0; anonymous proxy; Japan; 
194.187.214.204:80; 0.91; 6374; anonymous proxy; Finland; 
59.78.160.247:8080; 0; 0; anonymous; China (Shanghai); 
61.156.3.166:80; 1.12; 1449; anonymous proxy; China (Jinan); 
221.238.140.164:8080; 1.39; 257; anonymous; China (Tianjin); 
117.178.157.107:8123; 8.44; 847; high-anonymous; China; 
39.166.205.95:8123; 0; 0; high-anonymous; China; 
117.163.216.8:8123; 4.21; 1577; high-anonymous; China; 
189.31.143.250:3128; 0; 0; high-anonymous; Brazil; 
183.89.84.82:8080; 0; 0; anonymous proxy; Thailand; 
183.88.41.42:8080; 0; 0; anonymous; Thailand; 
212.3.183.210:8080; 0; 0; anonymous proxy; Italy; 

您需要删除锚点,因为一行不会只包含一个 IP 地址。

ip = re.findall( r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", content )

第二个正则表达式

r'([0-9]+)(?:\.[0-9]+){3}' 

必须返回三位数,因为仅捕获前三位数字,re.findall方法将首先返回捕获(如果有)。如果没有捕获,则只有它会返回匹配项。通过将捕获组转变为非捕获组将为您提供所需的输出。

r'\b[0-9]+(?:\.[0-9]+){3}\b' 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从txt中解析IP地址 的相关文章

  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 首先对列表中最长的项目进行排序

    我正在使用 lambda 来修改排序的行为 sorted list key lambda item item lower len item 对包含元素的列表进行排序A1 A2 A3 A B1 B2 B3 B 结果是A A1 A2 A3 B
  • vim 中的正则表达式查找和替换:向数字添加 .0

    我有一个如下所示的文件 1 1 0 1 6 1 0 2 8 1 0 3 10 1 0 4 12 1 0 6 如何为所有数字添加 0 后面的数字除外 我认为用正则表达式来做到这一点应该不会太难 但是我的正则表达式知识太生疏了 使用 VIM s
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • 使用 NumPy 将非均匀数据从文件读取到数组中

    假设我有一个如下所示的文本文件 33 346 1223 10 23 11 23 12 23 13 23 14 23 15 23 16 24 10 24 11 24 12 24 13 24 14 24 15 24 16 25 14 25 15
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an

随机推荐

  • Python中使用factorize()后如何获取原始值?

    我是一个初学者 尝试使用 Python 中的随机森林 训练和测试数据集创建预测模型 train ALLOW BLOCK 可以取 4 个期望值 所有字符串 中的 1 个 test ALLOW BLOCK 是需要预测的 y pd factori
  • “:”和“|”之间的区别在 R 线性建模中

    在R中构建线性模型时 以下两种说法有什么区别 lm y x z lm y x z The lm功能文档 http stat ethz ch R manual R devel library stats html lm html记录了 运算符
  • 将数据写入 CSV 时如何排除标题

    我正在从一个写入我的数据public class到 CSV 文件 由于我想附加数据 因此我想排除标头的导入 只导入类中的数据 我下面的代码导入标头和数据 希望得到帮助 谢谢 Record cs 我的班级 public class Recor
  • 如果 Python 字典理解覆盖某个键,则会引发错误

    有没有办法让字典理解在覆盖某个键时引发异常 例如 我希望以下错误 因为键有两个值 a gt gt gt k v for k v in a1 a2 b3 a 2 b 3 我意识到这可以通过for环形 有没有办法在保持理解语法的同时做到这一点
  • 为什么整数除法代码给出错误的答案? [复制]

    这个问题在这里已经有答案了 我在 Java 中有一个非常简单的划分 它是产品数量 每小时产量 但是每当我进行这种划分时 我都会遇到奇怪的错误 float res quantity standard 我已经用几个值尝试了上述除法 但总是出错
  • 如何将函子分配给函数指针?

    一般来说 我可以将函数对象分配给函数指针吗 我想做这样的事情 include
  • 将项目从 Delphi 3 移至 Delphi 2010

    我被要求重新打开一个我在 1998 99 年用 Delphi 3 编写的项目 此后该项目一直稳定运行 我在一台老化的 Windows 98 机器上有 Delphi 3 代码库 它的存在只是为了让这个项目保持活力 显然 我想在进行任何重大修改
  • 如何在 PostgreSQL 中获取数组的最后一个元素?

    The 关于数组的 PostgreSQL 文档 http www postgresql org docs 9 2 static arrays html提供了一个使用示例 1 访问数组的最后一个元素 然而虽然SELECT arr 2 3 产生
  • Notepad++ 查找文件名

    在Notepad 中 我有时需要打开存在于不同文件夹中的文件 这需要时间才能转到文件夹 并通过Light Explorer搜索文件 Notepad 有什么功能或插件可以让我直接打开文件吗 假设 如果我需要打开一个名为 notepad php
  • 检查元素是否包含#shadow-root

    是否可以查看 Shadow DOM 元素是否存在 我不太关心操纵它 甚至不是真正针对它 我理解封装的原因 但我希望能够根据 Shadow DOM 元素是否存在来设置常规 DOM 中其他元素的样式 有点像 if element id shad
  • Win32/MFC 从客户端矩形获取窗口矩形

    我知道有一个函数可以接受客户端矩形 并将其转换为窗口矩形 我只是找不到 记住它 有谁知道它是什么 它会做类似的事情 const CRect client 0 0 200 200 const CRect window ClientRectTo
  • 插件“FEDERATED”已禁用

    我尝试使用 easyPHP 启动 MySQL 响应是日志文件的警报窗口 主要错误是 通过网上研究 我发现解决方案是将联合选项添加到my ini文件 我这样做了 但它仍然不起作用 以下是日志文件的摘录 以了解更多信息 2013 05 03 1
  • 获取点击元素的ID

    div div div div 尝试此方法来获取单击的元素的 ID 并发出警报 我确信这是我所缺少的一些非常基本的东西 有人可以帮忙吗 这实际上非常基本 停止使用内联事件处理程序
  • 每次尝试以特定顺序循环 3 个线程

    我的问题是如何让一个线程运行 然后再运行一次 然后再次运行 然后它会重复本身 我有一个主文件 private static ThreadManager threadManager public static void main String
  • 通用选择不适用于位类型

    基于这个答案 https stackoverflow com a 18469483 1993545 我尝试为我的桌子创建一个选择 ALTER PROCEDURE Einrichtung Select Parameters with defa
  • 如何在 Jetpack Compose 中向图标添加阴影/边框/高度

    我想在 Jetpack compose 中为我的图标添加阴影 以便图像和文本具有 大致 相似的阴影 Text text HAS SHADOW style MaterialTheme typography body2 copy shadow
  • 打印汉字的ESC/POS命令

    打印机型号 爱普生TM T88V ESC POS命令指南 见P 115 http download delfi com SupportDL Epson Manuals TM T88IV Programming 20manual 20APG
  • 是否需要将原始类型键入枚举?

    我正在浏览NSString查看头文件 看看 Apple 如何编写枚举 并发现了这段代码 enum NSStringEncodingConversionAllowLossy 1 NSStringEncodingConversionExtern
  • Google DataFlow/Python:save_main_session 和 __main__ 中的自定义模块导入错误

    有人可以澄清使用时的预期行为吗save main session和导入的自定义模块 main 我的 DataFlow 管道导入 2 个非标准模块 一个通过requirements txt另一个通过setup file 除非我将导入移至使用它
  • 从txt中解析IP地址

    我正在尝试下载一个txt您可以找到的文件here http proxy ip list com download free proxy list txt 下载文件不是问题 testfile urllib URLopener testfile