Php正则表达式的应用———提取某网站中最新发表的代理ip地址
2009-06-24 23:14
489 查看
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.读者可任意复制,转载时要注明转载
正则表达式的功能是非常强大的,主要三方面应用。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地址
- 修改月光博客网站中PHP常用正则表达式中出现的错误
- 正则的应用--快代理网站
- 我的php学习笔记(三十三)PHP中正则表达式学习及应用(一)
- php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
- PHP提取字符串中的手机号正则表达式怎么写
- 黑马程序员:正则表达式介绍:QQ匹配、E-mail提取应用
- 我的php学习笔记(三十四)PHP中正则表达式学习及应用(二)
- 一个通用的php正则表达式匹配或检测或提取特定字符类
- php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
- PHP正则提取啊汉字字母数字下划线的方法以及常用正则表达式
- PHP正则表达式应用技巧
- 【转】验证E-mail、用户名、社保号、IP地址等10个实用的PHP正则表达式
- 巧用PHP正则表达式判断IP地址
- java 使用正则表达式从网页上提取网站标题
- [转]验证E-mail、用户名、社保号、IP地址等10个实用的PHP正则表达式
- 用正则表达式提取网页内容--选秀榜selectop.com网站内容管理系统之五
- PHP编程中正则表达式应用实例一
- php中常用的正则表达式的介绍及应用
- 一个通用的php正则表达式匹配或检测或提取特定字符类