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

yipeiwu_com7年前PHP代码库

本文实例讲述了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类的定义与继承用法。分享给大家供大家参考。具体如下: <?php /* * class */ class people { public...

php自动更新版权信息显示的方法

本文实例讲述了php自动更新版权信息显示的方法。分享给大家供大家参考。具体分析如下: 我们一般会在页面下方输出版权信息,包含年份信息,每年都要修改,这段简单的代码帮你解决这个问题,自动更...

PHP管理依赖(dependency)关系工具 Composer 安装与使用

PHP Composer 安装 系统需求: Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的...

PHP随机数函数rand()与mt_rand()的讲解

PHP中rand()与mt_rand()都是用于产生一个指定范围内单独随机数的函数既然他们都是用于产生一个随机数,那么他们有什么区别呢?rand() 函数默认使用 libc 随机数发生器,...

php curl 上传文件代码实例

假设server端上传文件处理脚本upload.php: 复制代码 代码如下: <?php    print_r($_POST);  p...