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 MemCached 高级缓存应用代码
Aug 05 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
Laravel下生成验证码的类
Nov 15 PHP
Yii2框架redis基本应用示例
Jul 13 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
May 02 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开发模式(简写版)
2007/03/15 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
深入分析PHP引用(&)
2014/09/04 PHP
php数组使用规则分析
2015/02/27 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
python 异步async库的使用说明
2020/05/04 Python
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
鲜花方阵解说词
2014/02/13 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
庆祝国庆节标语
2014/10/09 职场文书
铣工实训报告
2014/11/05 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
校车安全管理责任书
2015/05/11 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript