网站开发如何查看请求体包头建设厅官方网站
news/
2025/10/2 20:17:44/
文章来源:
网站开发如何查看请求体,包头建设厅官方网站,网站微信支付开发,网站设计的用途之前做页面抓取#xff0c;数据采集等功能的时候#xff0c;第一个想到的就是用正则表达式去匹配页面内容。但是对于像我这种#xff0c;正则只懂皮毛的人来说#xff0c;写正则是真的很恶心的一件事。去网上找#xff0c;也不一定能改成自己需要的正则。今天给大家推荐一…之前做页面抓取数据采集等功能的时候第一个想到的就是用正则表达式去匹配页面内容。但是对于像我这种正则只懂皮毛的人来说写正则是真的很恶心的一件事。去网上找也不一定能改成自己需要的正则。今天给大家推荐一个很好用的工具smiple html dom。文档地址http://www.phpddt.com/manual/simplehtmldom_1_5/manual.htm解析器不仅仅只是帮助我们验证html文档更能解析不符合W3C标准的html文档。它使用了类似jQuery的元素选择器通过元素的idclasstag等等来查找定位同时还提供添加、删除、修改文档树的功能。当然这样一款强大的html Dom解析器也不是尽善尽美在使用的过程中需要十分小心内存消耗的情况。不过不要担心本文中笔者在最后会为各位介绍如何避免消耗过多的内存。下面是我解析的mm131.com的页面内容代码主要是盗链他的图片O(∩_∩)O哈哈~index.phprequire ./dom/simple_html_dom.php;require ./include/function.php;//打开错误信息error_reporting(E_ERROR | E_WARNING | E_PARSE);$count 0;error_reporting(0);$url trim(post(url));$str ;if($url){$html new simple_html_dom();$html-load_file($url..html);$ret $html-find(.content-pic img);$title $html-find(title,0);echo str_ireplace(www.mm131.com,,iconv(GBK,UTF-8,$title-innertext)).;foreach($ret as $v){if($v-src){$str . $v-src.\n;$count;}}flush();for($i 2;$i $html-clear();$location $url._.$i..html;if(!GetCurl($location)){break;}$html-load_file($location);$ret $html-find(.content-pic img);foreach($ret as $v){if($v-src){$str . $v-src.\n;$count;}}flush();}echo $count;}以上3个代码块都是index.php的内容。其中的require ./dom/simple_html_dom.php; 即引用的simple html dom 解析器。function.php 只是封装了2个方法 代码如下function GetCurl($url){$ch curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,true);curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);curl_setopt($ch, CURLOPT_AUTOREFERER,true);curl_setopt($ch, CURLOPT_TIMEOUT,30);$rtn curl_exec($ch);curl_exec($ch);if(strpos($rtn,404 Not Found)true) {return false;}return true;}function post($id) {return isset ( $_POST [$id] ) ? $_POST [$id] : ;}如何避免解析器消耗过多内存在本文的开篇中笔者就提到了Simple HTML DOM解析器消耗内存过多的问题。如果php脚本占用内存太多会导致网站停止响应等一系列严重的问题。解决的方法也很简单在解析器加载html文档并使用完成后记得清理掉这个对象就可以了。当然也不要把问题看得太严重了。如果只是加载了2、3个文档清理或不清理是没有多大区别的。当你加载了5个10个甚至更多的文档的时候用完一个就清理一下内存绝对是对自己负责啦^_^
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925265.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!