简单爬虫脚本:178上data2比分扳

本文介绍了一个用于抓取Dota2基辅特锦赛比分的小脚本,该脚本能够从178网站上获取实时的比赛结果,并通过解析网页内容来提取赛事名称、日期及各队伍的得分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dota2基辅特锦赛正在进行,上班时候又不能看比赛,打开游戏网站吧,也不太好,写了个小脚本抓取178上的比分扳,看下比赛结果,也是极好的吧。。。

比分扳的数据是js生成的,那就直接传入参数,获取内容

clipboard.png
仔细一看这参数还挺多,Headers中参数标签
clipboard.png
再窗口中直接打开连接:

clipboard.png

使用正则查找数据吧

from bs4 import BeautifulSoup
import re
import requests

data={
    'endpoint':'three',
    'ids':'100000282,100000930,100000924,100000918,100000843',
    'callback':'jQuery112408214716044557848_1493194419017',
    '_':'1493194419018'
      }

web_data = requests.get("http://wxapi.178.com/vpgame_proxy.php",params=data)
soup = BeautifulSoup(web_data.text,'lxml')
event_list = str(soup).split('}]}}')[:-1]


def get_events(strings):
    events_name = re.findall(r'"tournamentName":"(.*?)"',strings)
    events_date = re.findall(r'(\d{4}-\d{2}-\d{2})',strings)
    events_status = re.findall(r'"status":"(\w+)"',strings)
    l_teams = re.findall(r'"leftTeam":"(.*?)"',strings)
    r_teams = re.findall(r'"rightTeam":"(.*?)"',strings)
    l_scores = re.findall(r'"leftTeamScore":"(\d+)"',strings)
    r_scores = re.findall(r'"rightTeamScore":"(\d+)"',strings)
    print('|{0!s: ^37s}|{1!s: ^20s}|'.format(events_name[0], events_date[0]))
    print('{:-^60}'.format('-'))
    
    for events_statu,l_team,l_score,r_score,r_team in zip(events_status,l_teams,l_scores,r_scores,r_teams):
        print('|{0!s: ^8s}|{1!s: ^20}| {2!s: ^1s} - {3!s: ^1s} |{4!s: ^20s}|'.format(events_statu,l_team,l_score,r_score, r_team))

for i in event_list:
    get_events(i)
    print('{:-^60}'.format('-'))

执行结果

clipboard.png

写的比较粗糙,也没有进行排序,凑合用吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值