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中使用PDF文档功能
Oct 09 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 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利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
js 替换
2008/02/19 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
Python Queue模块详细介绍及实例
2016/12/27 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
大学生自我鉴定
2013/12/16 职场文书
我的小天地教学反思
2014/04/30 职场文书
2014年残联工作总结
2014/11/21 职场文书
收入证明申请书
2015/06/12 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python