Kafka 协程 github tkinter gridview collections ldap nuget android实战项目 jquery的each循环 linux源码在线阅读 华为路由器ipv6配置 mysql统计数量 android常用布局 windows查看进程命令 js原生点击事件 python学习 python实战 python循环10次 java例子 java数据结构 java遍历 java语言入门 linux服务器登录 莫愁脚本 ipad锁屏 python队列 linux端口映射 js字符串比较 虚拟声卡驱动 deallocate bilibili硬币 非凡资源搜索器 pr脱机文件怎么恢复 机箱最佳风道图 vue动态路由 数据挖掘案例 金融大师 分解机耐久度 网络适配器在哪
当前位置: 首页 > 学习教程  > 编程学习

php 网页数据抓取 简单实例

2021/1/9 1:58:35 文章标签: php抓取网页内容

最近想学习一下数据抓取方面的知识,花了一个中午时间边学便实验,很快就把代码写出来了,实例写得比较简单,学习思路为主。需要注意的是,在目标网页上获取的数据如果有中文的话,可能会导致乱码的情况&#xf…

最近想学习一下数据抓取方面的知识,花了一个中午时间边学便实验,很快就把代码写出来了,实例写得比较简单,学习思路为主。需要注意的是,在目标网页上获取的数据如果有中文的话,可能会导致乱码的情况,这时可以用 iconv ( "UTF-8", "ISO-8859-1//TRANSLIT", string ) 这个函数进行编码,第一个参数是传入的编码,第二个参数是输出的编码,第三个参数是需要编码的字符串。另外,对xpath的知识不熟悉的话可以去w3cshool学习一下,因为这个比较重要。


<?php
/*
 *
 * 从网页上抓取数据的实例,仅用于学习。
 * @作者   Duolus
 *
 */
$uri = array (


4 => 'http://www.kuitao8.com/search/index/search/yii/page/4',
3 => 'http://www.kuitao8.com/search/index/search/yii/page/3',
2 => 'http://www.kuitao8.com/search/index/search/yii/page/2',
1 => 'http://www.kuitao8.com/search/index?search=yii'
);


$result = array ();
// 创建一个DOM对象
$dom = new DOMDocument ();
// 遍历uri数组,解析DOM数据
foreach ( $uri as $url ) {
// 读取html文件
$dom->loadHTMLFile ( $url );
// 转换成DOM对象
$xml = simplexml_import_dom ( $dom );
// 利用xpath进行找数据
$xpath = $xml->xpath ( '/html/body//a[@class="view_more"]' );
// 遍历找到的数据,并储存在新的$result数组中
foreach ( $xpath as $object ) {
// 指向DOM对象的 属性值
$att = $object->attributes ();
// 连接uri
$a .= '<a href="http://www.kuitao8.com/';
$a .= iconv ( "UTF-8", "ISO-8859-1//TRANSLIT", $att->href );
$a .= '">';
$a .= iconv ( "UTF-8", "ISO-8859-1//TRANSLIT", $att->title );
$a .= '</a><br>';
// 把连接储存到新数组
$result [] = $a;
// 重置,
$a = null;
}


// 释放资源 
$xml = null;
$xpath = null;
}
// 打印新数组
print_r ( $result );
?>


本文链接: http://www.dtmao.cc/news_show_1100164.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?