Php正则表达式的应用———提取某网站中最新发表的代理ip地址
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地址相关推荐
- 应用PHP正则表达式提取某网站中最新发表的代理ip地址
Php正则表达式的应用---提取某网站中最新发表的代理 ip 地址 正则表达式的功能是非常强大的,主要三方面应用.1. 判断指定的字符串是否具有指定的格式 2.查找具有指定格式的字符串 3. 将具有指 ...
- 如何在Node.js中获取本机本地IP地址
最近在做Cloud related的项目时,遇到一个问题,就是如何在Node.js中获取本机的IP地址.Node.js提供的API中,只能获取本机的hostname. os = require('os ...
- 全网最新Nginx禁止国内IP地址访问网站
全网最新Nginx禁止国内IP地址访问网站 文章目录 全网最新Nginx禁止国内IP地址访问网站 1.服务器安装依赖 2.创建文件地址并下载所需服务 3.安装libmaxminddb 4.解压并且修改 ...
- Windows10中如何使用ADSL固定IP地址连接因特网
Windows10中如何使用ADSL固定IP地址连接因特网 ADSL的网络连接组成包括含ADSL的电话线路,分离器,RJ-11电话线,ADSL调制解调器以及RJ-45网线.其中含ADSL的电话线路会通 ...
- python正则表达式匹配网址中的域名_匹配 IP 地址与域名的正则表达式
一个完整的域名,由根域.顶级域.二级.三级--域名构成,每级域名之间用点分开,每级域名由字母.数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过63. 单独的名字可以由正则表达式[a-z ...
- 网站中PV、UV、IP的区别
网站推广需要一个网站访问统计工具,常用的统计工具有百度统计.51la.量子恒道统计等.网站访问量常用的指标为PV.UV.IP.那么什么是PV.UV和IP,PV.UV.IP的区别是什么? 首先来看看ip ...
- java中获取当前服务器的Ip地址
1.tomcat是一款免费的开源Web服务器,如果部署在本地,那么对应的那么为localhost,对应地址为127.0.0.1. 例子:可以通过http://localhost:8080/项目root ...
- linux ssh ip地址命令,关于Linux:在ssh会话中查找客户机的IP地址
我有一个脚本,由使用ssh登录到服务器的人运行. 有没有办法自动找出用户连接的IP地址? 当然,我可以问用户(这是一个程序员的工具,所以没问题),但如果我刚刚发现的话,会更酷. 建议转到服务器故障,不 ...
- java获取服务器ip地址_java中获取当前服务器的Ip地址的方法
1.tomcat是一款免费的开源Web服务器,如果部署在本地,那么对应的那么为localhost,对应地址为127.0.0.1. 例子:可以通过http://localhost:8080/项目root ...
最新文章
- pat 乙级1033 旧键盘打字(20)
- Python中Pyaudio安装失败的解决办法
- STM32F407VG uCOS-II2.91 IAR工程 以及uCOS使用库编译的方法
- oracle之单行函数之课后练习
- 项目经理到底要不要懂技术?
- php 隐藏图片地址
- from __future__ import的用法
- python深度学习第一讲——用python写神经网络
- 高级着色语言HLSL入门(5)
- python selenium 打开新窗口
- 20145326蔡馨熠《信息安全系统设计》第7周学习总结
- Ubuntu16.04安装Docker 入门
- couchbase使用
- 计算机没有autoCAD_《AutoCAD三维设计环境》
- scrapy之spiders
- Meet Apache Wicket
- 基金会要申请银行账户吗
- 强化学习中的backups
- [从头读历史] 第309节 星球战争 BC2499 至 BC2400(公元前25世纪)
- 在Ubuntu 18.04上安装man中文帮助手册的方法手记