实例演示php采集新浪sina首页的新闻

今天我来实例演示一下用php怎样抓取sina首页的新闻。 博客文章已经所有迁到这里了,欢迎访问! 先贴上个人效果图: 在此输入图片描述php

如上图:显示的是新浪sina首页的新闻|财经模块。html

下面介绍个人实现过程。app

用到的函数主要有file_get_contents,preg_match等。函数

过程也很是简单。spa

<!-- lang: php -->
$file=file_get_contents('http://www.sina.com.cn/');
preg_match('/<head>([\s\S]*)<\/head>/',$file,$head);
print_r($head[0]);
echo '<body><div class="rightbox"><div class="right">
<div class="colpadding"><div id="news" class="md">';
preg_match('/<div id=\"news\" class=\"md\">([\s\S]*)
<span id=\"news_con_2\" style=\"display:none;\"><\/span>/',$file,$body);
print_r($body[1]);
echo '<span id="news_con_2" style="display:none;"></span>';
echo '</div></div></div></div></body></html>';

看到没有,就是简单的几步,就实现了效果。若是对样式有不满意的地方,能够再自行修改。code


总结:htm


博客文章已经所有迁到这里了,欢迎访问!blog

1:咱们使用preg_match正则匹配要抓取模块的div,而后再输出就好了。图片


2:这个例子比较简单,当遇到稍微复杂一点的需求的时候,告诉你们一个调式的好办法。ci


好比说上面的例子当中你想要看看head部分究竟输出的是什么,能够使用htmlspecialchars函数,来防止转义:htmlspecialchars($head[0]), 这样输出的就是正则匹配的head部分的代码,方便你的查看和调式。

博客文章已经所有迁到这里了,欢迎访问!

相关文章
相关标签/搜索