2013-10-10
网上看到的一个正则口诀,写的虽不顺口,但看了以后便于理解记忆,现摘录过来,希望有才华的哥们都再整理的顺口些就更好了。 <span style="white-space:nowrap;">正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$)&l……
Continue reading
2013-10-10
php采集过程中,对页面的某些无用信息或有用信息需要进行过滤。这里以js和css为例。如一些站点的js文件可能不是我们想要的,而别人的css样式可能又是你所机要的。现以两者为例说下php下的实现。 1、删除HTML中的JS部分 js在html的标记为…… ,根据该规则,可以通过下面的代……
Continue reading
2013-10-09
本文承接上面两篇,本篇中的示例要调用到前两篇中的函数,做一个简单的URL采集。一般php采集网络数据会用file_get_contents、file和cURL。不过据说cURL会比file_get_contents、file更快更专业,更适合采集。今天就试试用cURL来获取网页上……
Continue reading
2013-10-09
通分析过了Snoopy类,它里面有比较完善的匹配源码,可以看到有function fetchlinks($URI)。也就是获取”< a >”中链接的函数,可以很简单的提取出来,此外还发现,它的正则还支持高级语言中的三目运算,函数及示例如下: 1<?php 2function _striplinks($document) { 3 preg_match_all("'<s*as.*?hrefs*=s*(["'])?(?(1) (.*?)\1 | ([^s>]+))'isx", $document, $links); 4 // catenate the non-empty matches……
Continue reading
2013-10-09
该采集链接是从Snoopy中提取出来的,也是一个很好的函数,可以根据URL是相对链接还是绝对链接采集到链接,如果是相对链接会根据相对链接和主域名,返回绝对链接,也支持不同端口。 1<?php 2/*===================================================================* 3 Function: _expandlinks 4 Purpose: expand each link into a fully qualified URL 5 Input: $links the links to qualify 6 $URI the full URI to get the base from 7 Output: $expandedLinks the expanded links 8*===================================================================*/ 9function _expandlinks($links,$URI) 10{ 11 $URI_PARTS = parse_url($URI); 12 $host = $URI_PARTS["host"]; 13 preg_match("/^[^?]+/",$URI,$match);……
Continue reading
2013-10-09
php保存文件,还可以根据文件路径自动连续创建目录,代码如下(注:PHP要版本5以上): 1<?php 2 /** 3 * 保存文件 4 * 5 * @param string $fileName 文件名(含相对路径) 6 * @param string $text 文件内容 7 * @return boolean 8 */ 9 function saveFile($fileName, $text) { 10 if (!$fileName || !$text) 11 return false; 12 if (makeDir(dirname($fileName))) { 13 if ($fp = fopen($fileName, "w")) { 14 if (@fwrite($fp, $text)) { 15 fclose($fp); 16 return true; 17 } else { 18 fclose($fp); 19 return false; 20 } 21 } 22 } 23 return false; 24 } 25……
Continue reading
2013-10-07
有时候对一段文字只提取其中的一部分,可以借助shell的贪婪匹配实现,%是从右向左匹配,#则是从左向右匹配,如下实例: 1[root@www ~]# qq=www.qq.com 2[root@www ~]# echo ${qq#*.} //排除第一个 3qq.com 4[root@www ~]# echo ${qq##*.} //排除前两个 5com 6[root@www ~]# echo ${qq%.*} //排除后一个 7www.qq 8[root@www ~]# echo ${qq%%.*} //排除后两个 9www 10[root@www ~]# 上例中是以点为分割的,不是以“qq”做为分割 。下面结合实……
Continue reading
2013-09-30
Oswatch是oracle官方提供的收集操作系统性能状态信息的小工具,oswatch的安装与使用也比较简单,和nmon一样,都是下载后直接解压就可以使用的。oswatch是通过调用系统的命令完 成信息的收集,命令如下:ps ,top ,mpstat ,iostat,netstat ,tr……
Continue reading
2013-09-27
使用fiddler进行抓包时,我时只想抓某个域名的名,而避免其他域名的包干扰,只过滤出需的域名的包,实现方法有两种。 方法1 切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项: fiddler-filter 第一项有三个选项,不做更改: 1……
Continue reading
2013-09-23
网站启用https后,会加剧服务器的负担。每次新的TLS连续都需要握手,以便创建共享的加密密钥,在TCP三次握手之上还需要两个来回。传统的http使用TCP三次握手建立连接,而SSL和TLS在这个基础上还需要9个握手包,所以这个负担显而易见。不过,通过重用Session提高htt……
Continue reading