首页  >  文章  >  后端开发  >  PHP 调用新浪滚动新闻

PHP 调用新浪滚动新闻

WBOY
WBOY原创
2016-06-23 14:12:061339浏览

本帖最后由 a999888789 于 2012-11-30 16:06:44 编辑

http://roll.news.sina.com.cn/interface/rollnews_ch_out_interface.php?col=90

程序需要用PHP调用新闻,以URL:title的格式输入~~调出前10条新闻
如何搞呢?

回复讨论(解决方案)

这个是数据采集,有多种方式实现,既可以用file_get_contents,也可以使用curl
可以看这个网站视频http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0416/810.html

本帖最后由 xuzuning 于 2012-11-30 18:28:33 编辑

他返回的是 js 语句
去除掉开始的 “var jsonData = ”和最后的“;”,处理后才可识别

本帖最后由 xuzuning 于 2012-11-30 18:28:33 编辑
            他返回的是 js 语句
去除掉开始的 “var jsonData = ”和最后的“;”,处理后才可识别

<?php$url='http://roll.news.sina.com.cn/interface/rollnews_ch_out_interface.php?col=90';$s = file_get_contents($url);$content=str_replace('var jsonData =','',$s);$content=str_replace(';','',$content);$J=json_decode($content); echo $J->serverSeconds;?>

处理了,还是不行呀~

不是跟你说了吗?那是 js 语句
自然也就不是 json
php json_decode 要求的 json 的格式比较严格,键和值都要用双引号括起
所以才有“处理后"一说

直接js 处理吧 跟sina 一样 js 可以直接将返回结果解析出来
你判断一下取前10条就行了

楼主,先提供一个js 版的先用着,php 版的有点折腾,主要是sina 的js 响应不是特别标准.无法直接用json_decode 来处理.

<script src="http://roll.news.sina.com.cn/interface/rollnews_ch_out_interface.php?col=90"></script><script type="text/javascript">        function addItem(title,url)        {            var html = '<a href="'+url+'" >'+title+'</a><br/>';            document.getElementById("demo_content").innerHTML += html;        }        function init()        {            var listdata = jsonData.list;            //   console.log( listdata );            var title ='';            var url = '';            for(var item in listdata){                title = listdata[item].title;                url = listdata[item].url;                // alert(title);                addItem(title,url)            }        }</script><body onload="init()"><div id = 'demo_content'>here is the content<hr/></div></body>    

引用 3 楼 xuzuning 的回复:本帖最后由 xuzuning 于 2012-11-30 18:28:33 编辑
            他返回的是 js 语句
去除掉开始的 “var jsonData = ”和最后的“;”,处理后才可识别

PHP code??12345678
为什么要这样呢?
直接引入不就可以了啊!看#7楼的 http://bbs.csdn.net/topics/390300559#post-393078980

mu_rain :你好!看了你在http://bbs.csdn.net/topics/390300559#post-393078980的代码,可以用。如果修改下,让每一行限制在10个汉字,同时,调用前15条新闻,怎么做呢?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn