热搜:NVER node 开发 php

PHP 调用新浪滚动新闻

2024-09-14 11:25:01
PHP 调用新浪滚动新闻

本帖最后由 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 来处理.

here is the content

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

PHP code??12345678<?php $url='http://roll.news.sina.com.cn/……

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

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