如果想要了解Minecraft最新的版本信息,又不想到网页上翻找,怎么办呢?其实,我们可以使用Python来获取最新的版本信息和新闻。
先说版本信息,Java版的版本更新情况可以在官方提供的Json文件中看到,地址为http://launchermeta.mojang.com/mc/game/version_manifest.json。我们可以使用Python的Json解析库对其进行解析,然后打印在控制台上。代码如下:
from urllib.request import urlopen import json,time,datetime def getTime(timestr): return time.strftime("%b/%d/%Y,%H:%M:%S(%a)", time.strptime(timestr[0:-7],‘%Y-%m-%dT%H:%M:%S‘)) json_url = ‘http://launchermeta.mojang.com/mc/game/version_manifest.json‘ response = urlopen(json_url) #req is a string req = response.read() ‘‘‘ with open(‘version_manifest.json‘,‘wb‘) as f: f.write(req) ‘‘‘ versions = json.loads(req) print(‘Welcome to the Minecraft Version Checker!\nThis week is %s%s%s\n‘ %(datetime.datetime.now().isocalendar()[0]-2000,‘w‘,datetime.datetime.now().isocalendar()[1])) print(‘Latest Release: ‘,versions[‘latest‘][‘release‘]) print(‘Latest Snapshot: ‘,versions[‘latest‘][‘snapshot‘],‘\n\nRecent Versions:‘) print(‘%-21s%-14s%-30s‘ %(‘Version Id:‘,‘Type:‘,‘Release Time(GMT):‘)) i = 0 for ver in versions[‘versions‘]: print(‘%-21s%-14s%-30s‘ %(ver[‘id‘],ver[‘type‘],getTime(ver[‘releaseTime‘]))) i += 1 if i == 10: break print(‘\n‘)
如果我们还想要一些更详细的新闻,怎么办呢。一个解决方法是加载其他网站的CSS,比如:
import feedparser,time src = [‘https://www.minecraftglobal.com/feed/‘,‘http://www.9minecraft.net/feed/‘,‘https://wikiminecraft.com/feed/‘] for url in src: feed = feedparser.parse(url) print("News Source:",feed.channel.title) print("There are",len(feed.entries),"pieces of news from this source.\n") for e in feed.entries: print(‘%-70s%s By %s‘ %(‘[ ‘+e.title+‘ ]‘,time.strftime("%b/%d/%Y,%H:%M:%S(%a)", e.published_parsed),e.author)) print(‘>>‘,e.description[3:200],‘...[‘,e.link[0:100],‘]‘) print(‘\n\n‘)
其中的src就是加载源,可以按需修改。这样一来,就可以方便地获取Minecraft的最新资讯啦!
本文的代码均已上传至Gitee仓库,另附有便于Windows运行的批处理脚本,点击本文右上角的旗帜图案即可访问。
原文:https://www.cnblogs.com/devbobcorn/p/get-minecraft-news-via-python.html