采集网站内容(PHP采集头条先看一实例,现在我要采集新浪网国内新闻的头条)
优采云 发布时间: 2021-11-12 13:22采集网站内容(PHP采集头条先看一实例,现在我要采集新浪网国内新闻的头条)
phpQuery 是一个基于 PHP 的服务器端开源项目,它可以让 PHP 开发者轻松处理 DOM 文档的内容,比如获取某个新闻的头条新闻网站。更有趣的是它使用了jQuery的思想。你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。
采集头条新闻
先看个例子,现在我要采集新浪国内新闻头条,代码如下:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('http://news.sina.com.cn/china');
echo pq(".blkTop h1:eq(0)")->html();
简单的三行代码,即可获取标题内容。首先在程序中收录phpQuery.php核心程序,然后调用读取目标网页,最后输出对应标签下的内容。
pq() 是一个强大的方法,就像jQuery的$()一样,jQuery的选择器基本可以用在phpQuery上,只要把“.”改一下就行了。到“->”。如上例, pq(".blkTop h1:eq(0)") 抓取页面上class属性为blkTop的DIV元素,找到DIV里面的第一个h1标签,然后使用html ()方法获取h1标签中的内容(带html标签),就是我们要获取的标题信息,如果使用text()方法,只会获取到标题的文本内容。当然,你一定要用好phpQuery,关键是找到对应的文档Content节点。
采集文章列表
再看下面的例子,得到关于title的网站列表,请看代码:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('http://www.xxxx.com/list.html');
$artlist = pq(".list_li");
foreach($artlist as $li){
echo pq($li)->find('h2')->html()."
";
}
找到文章的标题并通过循环列表中的DIV输出就是这么简单。
解析 XML 文档
假设有一个像这样的 test.xml 文档:
张三
22
王五
18
现在想获取联系人张三的年龄,代码如下:
include 'phpQuery/phpQuery.php';
phpQuery::newDocumentFile('test.xml');
echo pq('contact > age:eq(0)');
结果输出:22
和jQuery一样,它就像准确找到文档节点,输出节点下的内容,解析一个XML文档一样简单。现在你不需要为采集网站的内容使用常规算法和内容替换等繁琐的代码。有了 phpQuery,一切都变得简单了。
项目官网地址: