php基于Snoopy解析网页html的方法


Posted in PHP onJuly 09, 2015

本文实例讲述了php基于Snoopy解析网页html的方法。分享给大家供大家参考。具体实现方法如下:

set_time_limit(0);
$user = array('20517', '20518');
header("content-Type: text/html; charset=utf-8");
require_once './Snoopy.php';
$snoopy = new Snoopy();
//$uri = 'http://www.juzimi.com/meitumeiju';
$uri = 'http://www.juzimi.com/meitumeiju?page=1';
$snoopy->fetch($uri);
$con = $snoopy->getResults();
$doc = new DOMDocument();
$doc->loadHTML($con);
/* make a result array ... */
$result = [];
/* go through all nodes which have class="baby" ... */
$i = 0;
foreach( ( new DOMXPath( $doc ) )->query( '//*[@id="bdshare"]' ) as $element ) {
  $row = $doc->saveHTML($element);
  $start = stripos($row, '{');
  $end = stripos($row, '}');
  $len = $end - $start + 1;
  $json = substr($row, $start, $len);
  $json = str_replace("'", '"', $json);
  $obj = json_decode($json);
  $pic = $obj->pic;
  $desc = $obj->desc;
  $filename = '/Uploads/meiju/card' . date('ymdhis') . $i . '.png';
  $file = '/alidata/www/test' . $filename;
  $image = file_get_contents($pic);
  file_put_contents($file, $image);
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
php实现的RSS生成类实例
Apr 23 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
php封装的smarty类完整实例
Oct 19 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 PHP
php生成固定长度纯数字编码的方法
Jul 09 #PHP
php随机获取金山词霸每日一句的方法
Jul 09 #PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 #PHP
PHP自毁程序(慎用)
Jul 09 #PHP
PHP模板解析类实例
Jul 09 #PHP
PHP多文件上传实例
Jul 09 #PHP
php判断linux下程序问题实例
Jul 09 #PHP
You might like
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
python统计日志ip访问数的方法
2015/07/06 Python
python简单分割文件的方法
2015/07/30 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
毕业生实习鉴定
2013/12/11 职场文书
公司担保书范文
2014/05/21 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
爱的承诺书
2015/01/20 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android