租号采集php

时间:2020-05-20 14:10:01 作者:租号谷

PHP能否得到访问者的硬盘序列号和MAC地址?

PHP程序可以获取服务器的硬盘序列号、MAC地址这些数据,原理是调用外部命令检测结果,具体方法与系统的类型有关,但是肯定不可能获取浏览者的信息,因为PHP只在服务器上执行。

你的第二段代码获取MAC值,在Windows是成功的,如果你是需要在UNIX下使用,需要根据你的操作系统类型来修改程序代码。

利用PHP制作简单的内容采集器的代码

采集器,通常又叫小偷程序,主要是用来抓取别人网页内容的。关于采集器的制作,其实并不难,就是远程打开要采集的网页,然后用正则表达式将需要的内容匹配出来,只要稍微有点正则表达式的基础,都能做出自己的采集器来的。

前几天做了个小说连载的程序,因为怕更新麻烦,顺带就写了个采集器,采集八路中文网的,功能比较简单,不能自定义规则,不过大概思路都在里面了,自定义规则可以自己来扩展。

用php来做采集器主要用到两个函数:file_get_contents()和preg_match_all(),前一个是远程读取网页内容的,不过只在php5以上的版本才能用,后一个是正则函数,用来提取需要的内容的。

下面就一步一步来讲功能实现。

因为是采集小说,所以首先要将书名、作者、类型这三个提取出来,别的信息可根据需要提取。

这里以《回到明朝当王爷》为目标,先打开书目页,链接:http://www.86zw.com/Book/3727/Index.aspx

多打开几本书会发现,书名的基本格式是:http://www.86zw.com/Book/书号/Index.aspx,于是我们可以做一个开始页,定义一个,用来输入需要采集的书号,以后就可以通过$_POST[‘number']这种格式来接收需要采集的书号了。接收到书号,下面要做的就是构造书目页:$url=http://www.86zw.com/Book/$_POST[‘number']/Index.aspx,当然这里是举个例子,主要是为了讲解方便,实际制作的时候最好检查一下$_POST[‘number']的合法性。

构造好URL以后就可以开始采集书籍信息了。使用file_get_contents() 函数打开书目页:$content=file_get_contents($url),这样就能将书目页的内容都读取出来了。接下来就是将书名、作者和类型等信息匹配出来了。这里就以书名为例,其他的都一样。 打开书目页,查看源文件,找到“《回到明朝当王爷》”,这就是要提取出来的书名了。提取书名的正则表达式:/(.*?)\<\/span>/is,使用preg_match_all()函数将书名取出:preg_match_all("/(.*?)\<\/span>/is",$contents,$title);这样$title[0][0]的内容就是我们要的标题了(preg_match_all函数的用法可以去百度查,这里就不详细说明了)。取出了书籍信息,接下来就是取章节内容了,要取章节内容,首先要做的就是找到每一章的地址,然后远程打开章节,用正则将内容取出来,入库或者直接生成html静态文件。这个是章节列表的地址:http://www.86zw.com/Html/Book/18/3727/List.shtm,可以看出这个和书目页一样,是有规律可寻的:http://www.86zw.com/Html/Book/分类号/书号/List.shtm。书号前面已经取得,这里的关键是找到分类号,分类号可以在前面的书目页找到,提取分类号:

preg_match_all("/Html\/Book\/[0-9]{1,}\/[0-9]{1,}\/List\.shtm/is",$contents,$typeid);这样还不够,还需要一个切取函数:

PHP代码如下:

复制代码 代码如下:

function cut($string,$start,$end){

$message = explode($start,$string);

$message = explode($end,$message[1]); return $message[0];}其中$string为要被切取的内容,$start为开始的地方,$end为结束的地方。取出分类号:

$start = "Html/Book/";

$end

= "List.shtm";

$typeid = cut($typeid[0][0],$start,$end);

$typeid = explode("/",$typeid);[/php]

这样,$typeid[0]就是我们要找的分类号了。接下来就是构造章节列表的地址了:$chapterurl = http://www.86zw.com/Html/Book/.$typeid[0]/$_POST[‘number']/List.shtm。有了这个就能找到每一章节的地址了。方法如下:

复制代码 代码如下:

$ustart = "\"";

$uend

= "\"";

//t表示title的缩写

$tstart = ">";

$tend

= "<";

//取路径,例如:123.shtm,2342.shtm,233.shtm

preg_match_all("/\"[0-9]{1,}\.(shtm)\"/is",$chapterurl,$url);

//取标题,例如:第一章 九世善人

preg_match_all("//is",$file,$title);

$count = count($url[0]);

for($i=0;$i<=$count;$i++)

{

$u = cut($url[0][$i],$ustart,$uend);

$t = cut($title[0][$i],$tstart,$tend);

$array[$u] = $t;

}

$array数组就是所有的章节地址了,到这里,采集器就完成一半了,剩下的就是循环打开每个章节地址,读取,然后将内容匹配出来。这个比较简单,这里就不详细叙述了。好了,今天就先写到这吧,第一次写这么长的文章,语言组织方面难免有问题,还请大家多包涵!

本篇文章来源于 站长资讯网 原文链接:http://webdevelop.chinahtml.com/2/2007/php-119440156516960.shtml

PHP采集只要文字,不要p标签,正则表达式该怎么写

PHP采集只要文字,不要

标签,正则表达式该怎么写

到底内心要有多强大,才能在前一秒得知自己中了740多万元的彩票奖金,后一秒还能像没事人一样,淡定地和朋友相聚?彩民王先生用他的实际行动告诉大家,他就可以这么淡定,就连在领取奖金时,他还是一脸波澜不惊。

  “你看,每期彩票开奖不都有不少人中奖吗?还有人中了上亿元的奖金呢,而且我觉得我迟早都会中一次大奖吧。”、9月11日,这位内心强大,表现淡定的大奖得主王先生现身自治区福利彩票发行中心,他以11+2的复式投注,中得双色球2012105期一等奖705万余元、22万余元的二等奖,再加上若干小奖,奖金合计740.8985万元。

  看上去年届不惑的王先生衣着考究,采访中,他的话语也不多,常会选择沉默凝视记者来回避他不想谈的话题,而更多时间,他看起来似乎有些心不在焉。

  有着三年多彩龄的王先生自称来自青海,来乌市做生意三年了,不是铁杆彩民,只是不定期地购买彩票,平时选号全凭感觉。这次中奖是他在9月6日路过长江路一家投注站时选的号。当时,他选了11个号码,感觉这些号码都挺好的,因为难以取舍,就花了1848元钱以11+2的复式投注,“这是我第四次花这么高的投注金额买一注彩票,因为当时感觉挺好”。

  次日晚上,王先生在宾馆接待远方来乌的朋友,闲暇时无意中上网,查询了开奖号码后再一一核对,这才发现自己中了一等奖,不过他并没有太过兴奋,而是继续和朋友叙旧。

  “我当时很高兴,心想第二天还有些要紧的事需要处理,赶快忙完这段时间,就去领奖。”王先生说,他计划把这些奖金用于自己的生意。

  王先生坦言,一直到领奖为止,他还没有把中奖的事告诉家人或朋友。“等领到钱了再告诉他们,不然我这成了巨额财产来历不明了。”王先生幽默地说。

  最后,王先生为新疆福彩爱心工程基金捐款2万元。

只要里的内容,不要

标签

------解决方案--------------------

最土的办法,整段采集完后,把

替换为空

------解决方案--------------------

试下这个函数,你可以自己修改下。

PHP code

function cleanJs($text){

$text = trim($text);

$text = stripslashes($text);

//完全过滤动态代码

$text = preg_replace('/<\?|\?'.'>/','',$text);

//完全过滤js

$text = preg_replace('//','',$text);

//过滤多余html

$text = preg_replace('/<\/?(html|head|meta|link|base|body|title|style|script|form|iframe|frame|frameset)[^><]*>/i','',$text);

//过滤on事件lang js

while(preg_match('/(<[^><]+)(lang|onfinish|onmouse|onexit|onerror|onclick|onkey|onload|onchange|onfocus|onblur)[^><]+/i',$text,$mat)){

$text=str_replace($mat[0],$mat[1],$text);

}

while(preg_match('/(<[^><]+)(window\.|javascript:|js:|about:|file:|document\.|vbs:|cookie)([^><]*)/i',$text,$mat)){

$text=str_replace($mat[0],$mat[1].$mat[3],$text);

}

return $text;

}

PHP中的一些常用函数收集

这篇文章主要介绍了PHP中的一些常用函数收集,本文收集了一些时间日期、输出打印、常用字符串函数、常用数组方法,需要的朋友可以参考下

?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 ?php //===============================时间日期=============================== //y返回年最后两位,Y年四位数,m月份数字,M月份英文。d月份几号数字,D星期几英文 $date=date(Y-m-d); $date=date(Y-m-d H:i:s);//带时分秒 //include,include_once.require,require_once //require(file.php) 在PHP程序执行前就会先读入require所指定引进的文件,如出现错误是致命的。 //include(file.php) 可以放在PHP程序的任何位置,PHP程序执行到时才读入include指定引入的文件,如出现错误会提示 //===============================输出打印=============================== //sprintf(%d,3.2) ;//只格式化,返回格式化后的字符串,不输出。 //printf(%d,3.2) ;//即格式化,又输出 //print(3.2) ;//只输出 //echo nihao,aa;//可以输出多个字符串 //print_r(array(a,b,c));//将数组的键值与元素依次显示 //===============================常用字符串函数=============================== //获取字符串长度,有多少个字符,空格也算 $str= sdaf sd ; $len=strlen($str); //用第一个参数里的字符串,把后面数组里的每个元素连接起来,返回一个字符串。 $str=implode(-,array(a,b,c)); //字符串分割方法,返回一个数组,用第一个参数里的字符分割后面的字符串,指定字符的前后和之间都截取,如果指定字符在开头或结尾则返回的数组开头或结尾的元素为空字符串 //没有分割到字符串就返回给数组对应元素一个空值。最后一个限制返回数组长度,可不限制,则一直分割下去。 $array=explode(a,asddad addsadassd dasdadfsdfasdaaa,4); //print_r($array); //剔除字符串左边开头的空格,并返回 //如有第二个参数则是剔除左边开头的空格换成剔除第二个参数里的字符串 $str=ltrim(a asd ,a); //剔除字符串右边开头的空格 $str=rtrim( asd ); //把第一个字符串两边以第二个参数开头的字符串剔除。如没有第二个参数,默认剔除掉字符串两边开头的空格 $str=trim( sdsdfas ,a); //从字符串第一个参数里的指定位置开始取多长(多少个)字符,字符串中第一个字符位置从0算。 //如果第二个参数为负则从字符串结尾倒数第几个开始取多长的字符串。结尾最后一个字符算-1,截取方向总是从左到右 $str=substr(abcdefgh,0,4); //将第三个参数的第一个参数字符串用参数二字符串替换 $str=str_replace(a,,abcabcAbca); //与str_replace用法同,只是不区分大小写 //$str=str_ireplace(a, ,abcabcAbca); //返回括号里字符串的字符全部大写的字符串 $str=strtoupper(sdaf); //将括号里第一个字符串变成大写后返回 $str=ucfirst(asdf); //用echo等将括号里字符串打印在网页上时原汁原味打印出括号里的字符串,包括标签字符 $str=htmlentities(br/); //返回第二个参数字符串在第一个字符串里出现的次数 $int=substr_count(abcdeabcdeablkabd,ab); //返回第二个字符串在第一个字符串第一次出现的位置,第一个字符位置算0 $int=strpos(asagaab,ab); //返回第二个字符串在第一个字符串最后一次出现的位置,第一个字符位置算0 $int=strrpos(asagaabadfab,ab); //截取返回参数一中从左至右第一个出现的参数二到参数一最后一个字符的字符串 $str=strstr(sdafsdgaababdsfgs,ab); //截取返回参数一中从左至右最后一个出现的参数二到参数一最后一个字符的字符串 $str=strrchr(sdafsdgaababdsfgs,ab); //将参数二中每一个字符在参数一中相同字符前加 $str=addcslashes(abcdefghijklmn,akd); //将参数一的字符串填充到参数二指定的长度(单字符个数),参数三为指定填充的字符串,不写默认空格 //参数四填充位置,0在参数一左侧开头填充,1右侧开头,2两边开头同时。不写默认在右侧开头填充 $str=str_pad(abcdefgh,10,at,0); //依次比较两字符串对应字符阿斯克码值,第一对不一样的,如果参数一里大于参数二里的返回1,反之返回-1,两字符串完全一样返回0 $int1=strcmp(b,a); //返回第一个参数格式化后的数字格式,第二个参数为保留几个小数,参数三为将小数点换成参数三,参数四为整数部分每三位用什么字符分割 //后面三个参数都不写,则默认去掉小数部分,整数每隔三位用逗号,分割。参数三,参数四必须同时存在 $str=number_format(1231233.1415,2,d,a); //===============================常用数组方法=============================== $arr=array(k0=a,k1=b,k2=c); //返回数组元素个数 $int=count($arr); //判断第二参数的数组元素中是否有第一个参数元素 $bool=in_array(b,$arr); //返回括号中数组所有键值组成的新数组原数组不改变 $array=array_keys($arr); //判断第二个参数的数组中是否有第一个参数的键值,返回真假 $bool=array_key_exists(k1,$arr); //返回原数组中所有元素值组成的新数组,键值从0开始自增,原数组不变 $array=array_values($arr); //返回当前数组指针指向的键值 $key=key($arr); //返回当前数组指针指向的元素值 $value=current($arr); //返回当前数组指针指向元素的键值及元素值组成的数组,再将指针推向下一位,最后指针指向的是一个空元素返回空 //返回的数组中有四个固定键值对应的元素值分别是返回元素的键值及元素值,其中0,'key'键值都对应返回元素键值,1,'value'键值都对应返回的元素值 $array=each($arr); //先将数组指针推向下一位,再返回指针移动后指向的元素值 $value=next($arr); //将数组指针推向上一位,再返回指针移动后指向的元素值 $value=prev($arr); //让数组指针重置指向第一个元素并返回元素值 $value=reset($arr); //将数组指针指向最后一位元素,并返回最后一位元素值 $value=end($arr); //将第一个参数以后的参数作为元素追加入第一个参数数组的末尾,索引从最小的没用过的数值开始计,返回之后的数组长度 $int=array_push($arr,d,dfsd); //将第一个参数数组后面所有参数作为元素添加到第一个参数数组开头处,键值以0从第一个元素处重新累加,原非数值的键值保持不变,原元素排序位置不变,返回之后的数组长度 $int=array_unshift($arr,t1,t2); //返回从数组尾部提取最后一个元素值,并把最后一个元素从原数组中剔除 $value=array_pop($arr); //array_pop相反,提取返回数组头一个元素值,并把头一个元素从原数组中剔除 $value=array_shift($arr); //让第一个参数数组达到第二个参数数值长度,将第三个参数作为元素添加到第一个参数数组的末尾,索引从最小没用过数值开始计并返回,原数组不改变 $array1=array_pad($arr,10,t10); //返回一个将原数组中多余重复元素剔除掉的新数组,原数组不改变 $array=array_unique($array1); //将原数组键值打破重新以元素值的阿斯克码值从小到大排序,索引从数字0开始重计 $int=sort($array); //和sort相反,以元素值阿斯柯码值大小降序重新排序,索引从0重新计 $int=rsort($array); //返回将第一个参数数组中每一个元素值依次作为键值付给参数二数组的数组,两数组长度必须一致,原数组不改变 $array=array_combine(array(a,b,c,d,e),$arr); //将两个数组合并并返回原数组不变 $array=array_merge($arr,array(a,b,c)); //在第一个参数数组中从第二个参数数值位置开始截取到第三个参数数值长度的数组键值+元素并返回,数组第一个元素位置从0计 $array=array_slice($arr,2,1); //截取功能和array_slice()一样,只是将截取部分在原数组中剔除 $array=array_splice($arr,2,1); //将第一个参数作为第一个元素,每次自增参数三的值,自增后再作为一个元素存在数组中,直到值达到参数二的值存到数组中为止并返回这个数组 //参数一,参数二可以是数字,可以是单个字符,单字符就按阿斯柯码值算,第三个参数不写默认每次自增1 $array=range(3,9,2); //将原数组元素与对应键值的对应关系重新随机排列返回真假 $bool=shuffle($arr); //计算数组中所有数值型元素值的和 $int=array_sum(array(a,2,cssf)); //把一个数组分割为新的数组块,新数组每个元素都是一个数组,新数组每个元素内有几个元素由参数二决定 //第三个参数决定元素的键值是否保留原键值可不写,true为保留,默认false不保留 $array=array_chunk(array(a=a,b,c,d,e,f,g,h),2,true); //json_encode()将数组转换成

php获取url中#后面的常量值

PHP 得不到这个值。这是 HTML 的页内锚点链接。

只能通过 JS 取得。

GET 变量传递变量应该是

extensions.php?E_name=notice&nid=6

php怎样使用搜狗微信采集微信公众号的发布的内容?

这个属于爬虫范畴,php的curl扩展也比较好实现,学这些东西还要会抓包,了解网络协议,有空的话我可以帮你研究一下

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现租号采集php有涉嫌版权的内容,欢迎发送邮件至:2145784@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关推荐

淘宝租两皇冠号怎么算

一、百度淘宝租两皇冠号怎么算查询 淘宝租两皇冠号怎么算百度关键词查询 编号 相关词 搜索量 相关结果 百度查询 优化价格 1 淘宝租两皇冠号怎么算 18814 9922.3万 百度淘宝租两皇冠号怎么算 84.4元 2 租号玩键