phpQuery是一个基于PHP的服务端开源项目,旨在让PHP开发人员轻松获取网页数据,并进行处理,比如获取某天的天气状况。另外,phpQuery遵序jQuery的思想,可以用jQuery中的选择器来对需要内容进行筛选。
1.流程
抓取数据的主要流程为先引入phpQuery,接着装载文档,最后通过phpQuery内置的pq函数筛选出我们需要的内容。
header("Content-Type:text/html;charset=gbk;");
require("phpQuery/phpQuery.php"); //引入phpQuery
$url = "http://www.w3school.com.cn/";
phpQuery::newDocumentFile($url); //装载文档
echo pq("h1")->html(); //w3school 在线教程
2.装载文档有很多,这里简单说两种
第一种:
$url = "http://www.w3school.com.cn/";
phpQuery::newDocumentFile($url)
根据目标的url地址,从文件(URL)转载。
第二种:
$url = "http://www.w3school.com.cn/";
$filePath = file_get_contents($url);
phpQuery::newDocumentHTML($filePath);
先用file_get_contents获取网页源代码,然后从标签(字符串)装载文档。
3.pq函数
在装载文档后,我们就获取到一个phpQuery对象,就可以通过pq函数来操作这个phpQuery对象,我们可以和jQuery选择器一样使用pq函数
例如:
pq("#box")->html();
pq(".box:eq(2)")->html();
pq("input[type='text']")->val();
pq(".box")->find("#con")->html();
大家可以依照jQuery的选择器自行尝试。