用几个新闻聚合平台API获取新闻文本数据(python版本)

1. 使用NewsData的newsdataapi包获取新闻数据,当前免费账号content完整,但在2024年1月15日后会折叠,一次最多只能查10条,需要设置下一页的页码(字符串)才能查其他数据,且每日总计限额200条,只能查询最近48小时新闻

from newsdataapi import NewsDataApiClient
import json
api = NewsDataApiClient(apikey='yourApiKey')
response = api.news_api(q='Russia AND Ukraine', language='en', 
                        timeframe=24, prioritydomain='medium', #最多获取近期48小时新闻
                        full_content=True, size=10, #full_content为True表明需要完整内容, size最大为10, 每日总计最大200
                        page='1704077557279615553') #可选,但需要指定下一页的页码才能查找其他数据
save_path = 'NewsData20231231_2.json'
assert save_path.split('.')[-1] == 'json'
with open(save_path, 'w') as file:
    json.dump(response, file) #保存为json文件


NewsData部分数据截图:
NewsData部分数据截图
NewsData部分数据截图

2.使用GNews的url获取新闻数据,content会折叠,需要付费才能获取完整内容,数据条数远小于NewsData,且每天总计限额100条,可以查较久远的历史新闻

import json
import requests

url = ('https://gnews.io/api/v4/search?'
       'q=Russia AND Ukraine&'
       'lang=en&'
       'max=3&' #每页多少文章, 最大100
       'apikey=yourApiKey&'
       'page=1&' #page是付费用户才有用
       'from=2023-12-31T00:00:00Z&'
       'to=2023-12-31T23:59:59Z')
response = requests.get(url)
jsonData = response.json()
save_path = 'gnews20231231_1.json'
assert save_path.split('.')[-1] == 'json'
with open(save_path, 'w') as file:
    json.dump(jsonData, file) #保存为json文件


GNews部分数据截图:
GNews部分数据

3.使用NewsAPI的url获取新闻数据,content会折叠(只保留了200个字符,付费似乎也不能获取完整内容),新闻有一天延迟,且每日总计限额100条,只能查最近一个月的新闻

import json
import requests

url = ('https://newsapi.org/v2/everything?'
       'q=Russia AND Ukraine&' #对标题和内容查询关键字
       'from=2023-12-30&' #开始时间, 免费版有一天的延迟
       'to=2023-12-30&' #结束时间
       'language=en&' #语言类型
       'sortBy=popularity&' #根据什么排序
       'pageSize=3&' #每页多少文章, 最大100
       'page=1&' #获取第几页的文章, 默认为1
       'apiKey=yourApiKey')
response = requests.get(url)
jsonData = response.json()
save_path = 'NewsAPI_url20231230.json'
assert save_path.split('.')[-1] == 'json'
with open(save_path, 'w') as file:
    json.dump(jsonData, file) #保存为json文件


NewsAPI部分数据截图:
NewsAPI部分数据截图

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值