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中使用Oracle数据库(2)
Oct 09 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
递归实现php数组转xml的代码分享
May 14 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
Mar 22 PHP
PHP7新功能总结
Apr 14 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
基于mysql的论坛(1)
2006/10/09 PHP
php框架Phpbean说明
2008/01/10 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP多进程简单实例小结
2019/11/09 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中的hypot()方法使用简介
2015/05/18 Python
Python绘制七段数码管实例代码
2017/12/20 Python
python实现音乐下载的统计
2018/06/20 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
产品促销活动策划书
2014/01/15 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
民事辩护词范文
2015/05/21 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS