Php正则表达式的应用———提取某网站中最新发表的代理 ip 地址

正则表达式的功能是非常强大的,主要三方面应用。1. 判断指定的字符串是否具有指定的格式

2.查找具有指定格式的字符串

3. 将具有指定格式的字符串替换为另一种格式

本文主要利用php 正则表达式来提取网站发表的代理 ip 地址,并转换为指定格式,保存为 txt 文档。然后添加到代理猎手软件中,验证成功,我们就能使用代理 ip 了, O( ∩ _ ∩ )O~ 。再不怕网友知道你的真实 ip 地址了。增加了安全性,还能恶搞。(注:请勿触犯法律)

本程序选择发表代理ip 地址的网址为: http://www.sooip.cn 、。感谢他们无私的奉献,值得我们表扬,值得我们浏览。

Php代码如下:

<?php

/**

* @ Author:朱南天

*Date: 2009-06-24

**/

$filename="http://www.sooip.cn/Article_search.asp";

$fileinfo=file_get_contents($filename);

$fileinfo=strtolower($fileinfo);

$fileinfo=strstr($fileinfo,"1.<a");

$infoarr=explode("5.<a",$fileinfo);

$fileinfo=$infoarr[0];

if(!preg_match_all('/href="(.*?)"/',$fileinfo,$id))

{

preg_match_all('/href=/'(.*?)/'/',$fileinfo,$id);  //获取文章的地址

}

$idend=str_replace("http://www.sooip.cn/","",$id[1]);

/*将获得地址统一,例如获得有的是 http://www.sooip.cn/Article_Show.asp?ArticleID=3478  ,有的是 Article_Show.asp?ArticleID=3478   */

foreach($idend as $i)

{

$fileinfonew=file_get_contents('http://www.sooip.cn/'.$i);

$fileinfonew=str_replace(' ','',$fileinfonew);

preg_match('/title>(.*)</',$fileinfonew,$filename);

//提取网页的标题,作为保存文件的文件名

preg_match_all('//d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}/s{1,}/d+/',$fileinfonew,$ip);

/* 关键所在,匹配 ip 地址及端口  */

$ipnew=preg_replace('//r/n/','',$ip[0]);

$ipnew=preg_replace('//s{1,}/',':',$ipnew);

//转换为指定格式,形如  xxx.xxx.xxx.xxx :端口

$strinfo=join("/r/n",$ipnew); //添加 txt 中换行符

$txtfilename=str_replace(array('/','//','|',':','?','<','>','"','*'),"  ",$filename[1]);

/*

排除 文件名中不容许出现的字符,如 /  /  :  *   ?  ,   <   >  |

*/

file_put_contents("$txtfilename.txt",$strinfo);  //写入文件

}

?>

注:1. 本程序有些依赖网页源代码的格式与内容,若网页有所改变,该程序可能有些问题。

2.本程序中有些是不是必需的,如提取网页标题作为保存文件文件名。读者可另设简单的名字,简化程序。

3.读者可任意复制,转载时要注明转载

应用PHP正则表达式提取某网站中最新发表的代理ip地址相关推荐

  1. Php正则表达式的应用———提取某网站中最新发表的代理ip地址

    Php正则表达式的应用---提取某网站中最新发表的代理ip地址 正则表达式的功能是非常强大的,主要三方面应用.1.判断指定的字符串是否具有指定的格式 2.查找具有指定格式的字符串 3. 将具有指定格式 ...

  2. 在python中,用正则表达式提取多层括号中最外层括号包含的内容

    提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢? 在python中,用正则表达式提取多层括号中最外层括号包含的内容 比如有一个字符串 : 学习python中有什么不懂的地方 ...

  3. java 正则提取邮箱_如何用正则表达式提取一个网站里面的所有邮箱地址?

    展开全部 用正则表达式提取一个网站里面的所有邮箱地址e68a8462616964757a686964616f31333337616565 import java.io.BufferedReader; ...

  4. 全网最新Nginx禁止国内IP地址访问网站

    全网最新Nginx禁止国内IP地址访问网站 文章目录 全网最新Nginx禁止国内IP地址访问网站 1.服务器安装依赖 2.创建文件地址并下载所需服务 3.安装libmaxminddb 4.解压并且修改 ...

  5. 如何在Node.js中获取本机本地IP地址

    最近在做Cloud related的项目时,遇到一个问题,就是如何在Node.js中获取本机的IP地址.Node.js提供的API中,只能获取本机的hostname. os = require('os ...

  6. Windows10中如何使用ADSL固定IP地址连接因特网

    Windows10中如何使用ADSL固定IP地址连接因特网 ADSL的网络连接组成包括含ADSL的电话线路,分离器,RJ-11电话线,ADSL调制解调器以及RJ-45网线.其中含ADSL的电话线路会通 ...

  7. 网站中PV、UV、IP的区别

    网站推广需要一个网站访问统计工具,常用的统计工具有百度统计.51la.量子恒道统计等.网站访问量常用的指标为PV.UV.IP.那么什么是PV.UV和IP,PV.UV.IP的区别是什么? 首先来看看ip ...

  8. java中获取当前服务器的Ip地址

    1.tomcat是一款免费的开源Web服务器,如果部署在本地,那么对应的那么为localhost,对应地址为127.0.0.1. 例子:可以通过http://localhost:8080/项目root ...

  9. linux ssh ip地址命令,关于Linux:在ssh会话中查找客户机的IP地址

    我有一个脚本,由使用ssh登录到服务器的人运行. 有没有办法自动找出用户连接的IP地址? 当然,我可以问用户(这是一个程序员的工具,所以没问题),但如果我刚刚发现的话,会更酷. 建议转到服务器故障,不 ...

最新文章

  1. linux sudo命令详解
  2. 阅读准备-构建redis容器
  3. 数字经济时代,险企如何构建数字化经营体系实现突围?
  4. gorilla/mux 的学习
  5. python学习笔记(七)函数
  6. 选择排序--Selection sort
  7. 跟小静学MVC3[03]--相关语法特性小补习
  8. linux内核源码分析plat-form 分析
  9. java kafka 开发,Kafka JAVA API开发-基础案例
  10. arduino液位传感器_「雕爷学编程」Arduino动手做(24)——水位传感器模块
  11. 无水印的html5制作软件,ScreenToGif-开源、简单、无水印的gif动图制作软件
  12. ros系统能用c语言编程,ROS操作系统学习(十一)参数的使用与编程方法
  13. 服务器安装找不到lsi驱动,IBM 服务器 SAS Raid LSI Windows2008 硬盘 驱动
  14. 词法分析之LED文件批量生成
  15. winhex先Add再XOR后的数据恢复
  16. springboot 启动banner 打印 佛祖保佑
  17. mac电脑用计算机名共享打印机,MAC与Windows7共享打印机的设置方法
  18. ios多人协作工具有哪些?支持多人同步在线使用的协同办公软件
  19. IOS 开发 iPhone屏幕尺寸、分辨率及适配
  20. mysql 家谱树查询_GitHub - chenwei/FamilyTreeView: 家谱树绘制Demo

热门文章

  1. About@fant-face
  2. @[666_C++牛人放出超屌代码]3d超级枪战小游戏
  3. scss中的@each 指令
  4. 实现手机端富文本编辑器---QuillEditors实现
  5. 视频教程-Linux 云计算架构师视频课程(集群、存储、调优)-Linux
  6. 第一次写线段树,以杭电一道题为例 张煊的金箍棒(2)
  7. 惠普计算机开机半花屏,hp笔记本花屏原因及解决办法【图文教程】
  8. CPU占用率高怎么办?正确解决方法在这里!
  9. GPT-4发布!ChatGPT大升级!AI画图牛逼
  10. 【满分】【华为OD机试真题2023 JAVAJS】字符串解密