从NYtimes developer APIs获取最热门文章——运用python requests与json模块

该博客介绍了如何从NYtimes developer APIs获取前一天的最热门文章,重点是利用python的requests和json模块处理数据。内容包括理解API接口的变化,解析JSON文件并用for循环提取文章的标题和媒体URL。尽管标准答案存在图片URL与标题数量不匹配的问题,但通过改进可以实现每个图片URL与对应文章标题的匹配。
摘要由CSDN通过智能技术生成

本题来自于Udacity data analyst课程。题目要求从NYtimes developer APIs 获取前一天最热门文章,并返回一个变量元祖,其中包含以下数据:

  • 标签:字典列表,其中键是“版块(“section”)”值,值是每个所检索的文章的“标题(“title”)”值。
  • URL:所有“media”条目的 URL 列表,“格式”(“format”):标准缩略图(“Standard Thumbnail”)

练习的目的是考察学生从JSON文件中提取信息的能力,和对for循环的掌握程度。课程 UI 中自带一个JSON文件,可以直接编写提取信息的代码。

但是,课程 UI 从网页提前JSON的代码与现在NYtimes的API有所出入,无法获取目前最新的文章信息。可以从官方网站看到目前最新的例子:

https://api.nytimes.com/svc/mostpopular/v2/emailed/7.json?api-key=yourkey
https://api.nytimes.com/svc/mostpopular/v2/shared/1/facebook.json?api-key=yourkey
https://api.nytimes.com/svc/mostpopular/v2/viewed/1.json?api-key=yourkey

根据这个模式,我尝试对课程示范代码作一些更新:

import json
import requests

URL_MAIN = "http://api.nytimes.com/svc/"
URL_POPULAR = URL_MAIN + "mostpopular/v2/"
URL_POPULAR_KIND = {
   'view':'viewed/',  # 浏览最多的文章
                    'emailed': 'emailed/',  # 电子邮件发送最多的文章
                    'shared':'shared/'}   # 分享最多的文章
API_KEY = '你自己的key'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值