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

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

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

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

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

本程序选择发表代理ip地址的网址为:http://www.sooip.cn。感谢他们无私的奉献,值得我们表扬,值得我们浏览。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. 如何在Node.js中获取本机本地IP地址

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

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

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

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

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

  5. python正则表达式匹配网址中的域名_匹配 IP 地址与域名的正则表达式

    一个完整的域名,由根域.顶级域.二级.三级--域名构成,每级域名之间用点分开,每级域名由字母.数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过63. 单独的名字可以由正则表达式[a-z ...

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

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

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

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

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

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

  9. java获取服务器ip地址_java中获取当前服务器的Ip地址的方法

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

最新文章

  1. pat 乙级1033 旧键盘打字(20)
  2. Python中Pyaudio安装失败的解决办法
  3. STM32F407VG uCOS-II2.91 IAR工程 以及uCOS使用库编译的方法
  4. oracle之单行函数之课后练习
  5. 项目经理到底要不要懂技术?
  6. php 隐藏图片地址
  7. from __future__ import的用法
  8. python深度学习第一讲——用python写神经网络
  9. 高级着色语言HLSL入门(5)
  10. python selenium 打开新窗口
  11. 20145326蔡馨熠《信息安全系统设计》第7周学习总结
  12. Ubuntu16.04安装Docker 入门
  13. couchbase使用
  14. 计算机没有autoCAD_《AutoCAD三维设计环境》
  15. scrapy之spiders
  16. Meet Apache Wicket
  17. 基金会要申请银行账户吗
  18. 强化学习中的backups
  19. [从头读历史] 第309节 星球战争 BC2499 至 BC2400(公元前25世纪)
  20. 在Ubuntu 18.04上安装man中文帮助手册的方法手记

热门文章

  1. TCP 数据收发过程抓包分析
  2. 【Eigen和tf中位姿表达方式转换】【tf::StampedTransform】【Eigen::Matrix4f】
  3. 惠普明年初将在英国裁员千人
  4. confirm自定义信息
  5. android 常用颜色对照表
  6. 天正lisp修改了配置_转:Windows下Lisp开发环境的安装配置
  7. 时代催生枭雄——XFS应运而生
  8. 深度学习中的sigmod函数、tanh函数、ReLU函数
  9. java图书管理系统(前后端分离前)
  10. WordPress常用函数大全