采集网页关键在于两个地方:
我们使用《终于到了。》这篇文章作为目标网页,获取网页源代码比较简单的方法就是使用 file_get_contents() 函数,使用方法: $content = file_get_contents('http://www.diary/17.html'); 变量 $content 就是用来储存我们使用 file_get_contents() 获取的网页源代码。 接下来就是如何使用正则匹配出正文内容,我们先用浏览器打开这个页面,然后右键查看源代码,找到正文处代码。 找到包裹着正文的HTML标签,就可以使用 preg_match_all() 函数匹配出正文。 preg_match_all('/ (.*) /', $content, $result);使用 var_dump() 函数打印 $result 变量。 从图中可以看出,打印出了一个二维数组,虽然匹配出了正文,但是里面还有一些HTML标签,接下来要做的就是使用 str_replace() 函数去掉这些标签。 $arr = array(' ', ' ', '');$result = str_replace($arr, '', $result[0][0]); 最后输出变量 $result 就可以了。 运行结果: 完整代码: (.*) /', $content, $result); //使用正则匹配出正文$arr = array(' ', ' ', ''); //需要去除的HTML标签数组$result = str_replace($arr, '', $result[0][0]); //去除HTML标签echo $result; //输出正文?> 最后总结,使用PHP采集网页需要注意的地方是,file_get_contents() 获取网页源代码的效率比较低,推荐使用 curl。还有就是正则表达式,正则表达式需要根据网页源代码来编写,并不是一成不变的。关于 curl 和正则表达式的知识可以使用百度了解! 原文链接: ,尊重共享,欢迎转载! |
|