【效率工具】基于python爬虫的“nba对阵信息及数据统计信息查看“Alfred小工具

1.背景

 

每次都需要打开网页看nba消息,太繁琐了,利用mac端的效率神器Alfred,编写了一个python脚本爬取新浪nba的消息,敲一个命令就能展示出当天的nba对阵信息,回车一下直接跳转到数据统计的网页。

2.具体操作

alfred-nba

alfred-nba_哔哩哔哩_bilibili

3.核心逻辑

from urllib import request, parse
import sys
import json
import copy
import time

def getNBA(  ):
    url = 'https://slamdunk.sports.sina.cn/api?p=radar&s=schedule&a=date_limit&order=-1&date=&_=' + str(time.time()*1000)

    response = getJsonFromUrl(url)  

    items = {"items": []}
    template = {
        "title": "",
        "subtitle": "",
        "arg": ""
    }

    for i in response['result']['data']['matchs']:
        url = 'https://slamdunk.sports.sina.cn/api?p=radar&s=boxscore&a=match&dpc=1&mid=' + i['mid']
        response1 = getJsonFromUrl( url )
        template["title"] = i['home_name'] + 'vs' + i['away_name'] + '=>' + str(i['home_score']) + ':' + str(i['away_score'])
        template["subtitle"] = '开始时间:' + i['date'] + '    ' + i['time'] + '  比赛状态:' + response1['result']['data']['time_str']
        template["arg"] = 'https://slamdunk.sports.sina.cn/nano/game?livetype=nba&matchid=' + response1['result']['data']['cmt_newsid'].split('-',)[2]
        items["items"].append(copy.deepcopy(template));
    jsonstr = json.dumps(items)
    print(jsonstr)  # 打印字符串就可以被alfred识别

def getJsonFromUrl ( url ):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/79.0.3945.88 Safari/537.36',
    }
    req = request.Request(url=url, method='GET', headers=headers)
    response = json.loads(request.urlopen(req).read().decode('utf-8')) 
    return response

if __name__ == '__main__':
    getNBA()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值