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+dbfile开发小型留言本
Oct 09 PHP
php 读取文件乱码问题
Feb 20 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
php生成excel列序号代码实例
Dec 24 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 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
PHP+DBM的同学录程序(5)
2006/10/09 PHP
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
python中的格式化输出用法总结
2016/07/28 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
一份python入门应该看的学习资料
2018/04/11 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Python流程控制 if else实现解析
2019/09/02 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
文明学生标兵事迹
2014/01/21 职场文书
上班看电影检讨书
2014/02/12 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
大学生村官演讲稿
2014/04/25 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
房产公证书样本
2015/01/23 职场文书
医院员工辞职信范文
2015/05/12 职场文书
五一晚会主持词
2015/07/01 职场文书
决心书格式范文
2015/09/23 职场文书
Python图片检索之以图搜图
2021/05/31 Python