新浪新闻API

ustcmio 关注

2017.01.15 20:44* 字数 536 阅读 2479评论 2喜欢 7

新浪新闻的API:
1.访问手机新浪网https://sina.cn/?from=sinacom(可以从新浪新闻的首页链接进入)
2.选择国内新闻,分析网页源代码,发现有个动态加载更多新闻的api
http://interface.sina.cn/wap_api/layout_col.d.json?&showcid=56261
访问之,发现返回json格式的新闻,但并不是当前页面的内容,即缺少参数
3、进一步分析网页,发现channel.min.js文件进行动态加载
使用我几乎没有的js知识,意会了一下源码:
(1)搜索了load_api,发现了channel.mim.js中的
W.loadMoreApplyURL=scope.load_api,W.page=2,W.show_num=scope.show_num,...
(2)搜索了loadMoreApplyURL,发现了
if(W.iscolumn){
var e=W.loadMoreApplyURL,t=W.page,n=W.show_num;
if($(".star_nav").length>0)
var o=$(".star_nav").data("type"),d=$("#j_"+o+"list").data("cid"),c=$("#j"+o+"_list").data("level");
else
var d=$("#j_items_list").find(".j_itemscard").last().data("cid"),c=$("#j_items_list").find(".j_itemscard").last().data("level");
var l={col:d,level:c,show_num:W.show_num,page:W.page,act:"more",jsoncallback:"callbackFunction"}}
else...

大概理解了一下:
变量o设置了type的值,变量d设置了cid的值,变量c设置了level的值
然后再变量l中为jsoncallback函数callbackFunction传递参数:
col:d,即cid,
level:c,即level的值,
show_num:W.show_num,即每页显示,
page:W.page,即页码
act:"more",表示更多

由此可以得到新浪新闻api:
接口:http://interface.sina.cn/wap_api/layout_col.d.json?&showcid=56261
参数:
col表示新闻类别
国内:56261
国际:56262
社会:56264
历史:97223
level表示新闻等级
show_num表示新闻条数
page表示页码

地方资讯:56327是无锡

http://interface.sina.cn/dfz/outside/wap/news/list.d.html?col=56327

娱乐频道:
https://interface.sina.cn/ent/feed.d.json?ch=ent&col=ent&act=more&t=1484477669001&show_num=10&page=4
参数说明:
ch:频道
娱乐:ent
体育:sports
科技:tech
教育:edu
健康:health
时尚:fashion
博客:blog
col:分类
show_num
page

新浪新闻API的更多相关文章

  1. 新浪新闻API接口

    头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao推荐 http://api.sina.cn/sinago/list.json?ch ...

  2. Python_网络爬虫(新浪新闻抓取)

    爬取前的准备: BeautifulSoup的导入:pip install BeautifulSoup4 requests的导入:pip install requests 下载jupyter noteb ...

  3. 采集新浪新闻php插件

    今天没事,就分享一个采集新浪新闻PHP插件接口,可用于火车头采集,比较简单,大家可以研究! 新浪新闻实时动态列表为:https://news.sina.com.cn/roll/?qq-pf-to=pc ...

  4. linux - 使用curl实现新浪天气API应用

    新浪天气API的使用方法: API地址:http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT82 ...

  5. 门户级UGC系统的技术进化路线——新浪新闻评论系统的架构演进和经验总结(转)

    add by zhj:先收藏了 摘要:评论系统是所有门户网站的核心标准服务组件之一.本文作者曾负责新浪网评论系统多年,这套系统不仅服务于门户新闻业务,还包括调查.投票等产品,经历了从单机到多机再到集群 ...

  6. Lance老师UI系列教程第八课->新浪新闻SlidingMenu界面的实现

    UI系列教程第八课:Lance老师UI系列教程第八课->新浪新闻SlidingMenu界面的实现 今天蓝老师要讲的是关于新浪新闻侧滑界面的实现.先看看原图: 如图所示,这种侧滑效果以另一种方式替 ...

  7. selenium+BeautifulSoup+phantomjs爬取新浪新闻

    一 下载phantomjs,把phantomjs.exe的文件路径加到环境变量中,也可以phantomjs.exe拷贝到一个已存在的环境变量路径中,比如我用的anaconda,我把phantomjs. ...

  8. 小爬新浪新闻AFCCL

    1.任务目标: 爬取新浪新闻AFCCL的文章:文章标题.时间.来源.内容.评论数等信息. 2.目标网页: http://sports.sina.com.cn/z/AFCCL/ 3.网页分析 4.源代码 ...

  9. Python爬虫:新浪新闻详情页的数据抓取(函数版)

    上一篇文章<Python爬虫:抓取新浪新闻数据>详细解说了如何抓取新浪新闻详情页的相关数据,但代码的构建不利于后续扩展,每次抓取新的详情页时都需要重新写一遍,因此,我们需要将其整理成函数, ...

随机推荐

  1. 使用C++视频播放器库libvlc

    libvlc简介 vlc是一个开源的视频播放器,并提供了库供二次开发,其视频解码库是ffmpeg,网络库是live555.

  2. C++——类的多继承

    多继承概念 一个类有多个直接基类的继承关系称为多继承 多继承声明语法 class  派生类名 : 访问控制  基类名1 ,  访问控制  基类名2 ,  … , 访问控制  基类名n { 数据成员和成 ...

  3. inspect模块的使用

    一.介绍 inspect模块主要的四种用处: 1.对是否是模块.框架.函数等进行类型检测 2.获取源码 3.获取类或函数的参数信息 4.解析堆栈 二.使用 只写了2个自己用到的方法,方法太用,http ...

  4. hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到

    题意: 一个完全图,某两点边权为这两点编号之按位与,求最小生成树,输出字典序最小的. 题解: 如果点数不为$2^n-1$,则每一点均可找到一点,两点之间边权为0,只需找到该点二进制下其最左边的0是第几 ...

  5. skyline中大数据量的三维场景刷新速度问题

    我们做了一个的类似于TE Pro的桌面系统来代替TE Pro演示我们的大三维场景.我们的三维场景包括100平方公里的全要素场景,有建筑物,地面.小品.部件.植被等.在系统运行后,三维场景刷不起来,速 ...

  6. 多进程报错 EOFError: EOF when reading a line

    EOF的意思为:end of file 这个错误会在多进程中出现,是因为子进程中不能出现input,只能在父进程中使用. 结果:

  7. day 68 Django基础四之模板系统

      Django基础四之模板系统   本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法   模板渲染的官方文档 关 ...

  8. Activiti表单(Form key)

    1.设置Form key如图: 2.根据任务id得到Form key TaskFormData formData = formService.getTaskFormData(taskId);; Str ...

  9. Linux安装Java与Eclipse

    Linux安装Java和Eclipse 一.准备工作 1.下载jdk  https://www.oracle.com/technetwork/java/javase/downloads/jdk8-do ...

  10. RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more infor

    在virtualenv环境下使用matplotlib绘图时遇到了这样的问题: >>> import matplotlib.pyplot as pltTraceback (most r ...