Heim > Backend-Entwicklung > PHP-Tutorial > PHP 调用新浪滚动新闻

PHP 调用新浪滚动新闻

WBOY
Freigeben: 2016-06-23 14:12:06
Original
1360 Leute haben es durchsucht

本帖最后由 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;?>
Nach dem Login kopieren

处理了,还是不行呀~

不是跟你说了吗?那是 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>    
Nach dem Login kopieren

引用 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条新闻,怎么做呢?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage