使用re的正则表达式提取腾讯体育新闻摘要

首先确认要爬取的信息所在网页是静态还是动态,打开浏览器开发者工具抓包,下拉页面更新体育新闻的摘要(summary),同时查看网络面板,筛选fetch/xhr发起的请求的响应,随着下拉动作,能发现对https://matchweb.sports.qq.com/feeds/list的请求的增加。爬取的目标网页是动态的,第n页的请求地址为https://matchweb.sports.qq.com/feeds/list?columnId=pc_hot&feedSeq=n&times=n,即传递的feedSeq和times参数为n。

查找到相应html文档后可以通过不断更改re提取规则进行调试,添加断点进行调试无需重新执行整个代码,这样的好处有:

  1. 逐步执行,可以逐行或逐块执行代码,观察程序在特定点的状态,包括变量的值、程序流程等。
  2. 错误定位,程序出现错误或异常时可以通过断点快速定位到问题发生的位置。
  3. 条件断点,pycharm和vscode支持条件断点,只有满足特定条件才会暂停。
  4. 避免多次重复执行,防止被网站察觉触发反爬机制。
  5. 提高效率,调试过程中无需每次都运行整个程序。
  6. 增强理解,有助于开发者更好的理解执行流程和逻辑,尤其是复杂的爬虫逻辑。

在vscode中调试

在pycharm中调试

运行代码:

import requests
import re
from fake_useragent import UserAgent
# 目标地址和get参数
url = 'https://matchweb.sports.qq.com/feeds/list'
params = {'columnId': 'pc_hot',
          'exp': '1',
          'feedSeq': '1',
          'flag': '1',
          'qimei': '2db8b0959ce166ac18cb84290200000cf18917',
          'appvid': '7.5.00',
          'times': '1',
          'os': 'web'}
# 封装请求头
headers = {'User-Agent': UserAgent().safari}
# 发送请求
resp = requests.get(url, headers=headers, params=params)
# 将响应的html保存至本地
with open('temp.html', 'w') as f:
    f.write(resp.text)
# 使用正则表达式提取summary摘要信息
summaries = re.findall('"summary":"(.*?)"', resp.text)
# 打印结果
num = 1
for summary in summaries:
    print(num, summary)
    num += 1

运行结果:

1 【历届羽毛球奥运会男双冠军】\n1992年巴塞罗那奥运会   金文秀/朴柱奉\n1996年亚特兰大奥运会   里奇/雷西\n2000年悉尼奥运会        陈甲亮/吴俊明\n2004年雅典奥运会        何泰权/金文东\n2008年北京奥运会        塞蒂亚万/基多\n2012年伦敦奥运会        蔡赟/傅海峰\n2016年里约奥运会        张楠/傅海峰\n2020年东京奥运会        李洋/王齐麟
2 NBA中,评价球员实力的维度有很多,不过最直观的方式就是去看他的生涯荣誉,NBA充满了各式各样的荣誉,但能够拿到这些也并不容易,一般对于一个球星来说最为重要的荣誉莫过于下面这几项:MVP、总冠军、FMVP、得分王和最佳阵容一阵,这五项荣誉堪称球员毕生所求,能够将这五项荣誉悉数拿下的球员也可称生涯大满贯,在NBA历史中,仅有8人能够做到这点,接下来就让我们来看看他们都是谁吧! 八、库里 库里职业生涯所取得的荣誉无数,虽然他在15年和16年的时候就已经是联盟中的超巨了,但直到22年他才真正实现了生涯大满贯,主要是因为在职业生涯前三个总冠军中,FMVP分别被伊戈达拉和杜兰特拿走,在22年库里带领勇士从低谷再次回到联盟巅峰,勇士在总决赛中也逆转了凯尔特人完成了夺冠,毫无疑问库里就是那个绝对核心,这
3 北京时间9月26日,此前名记Shams曾透露快船球星莱昂纳德在休赛期接受了膝盖手术,这次手术是在5月份进行的,快船总裁弗兰克也透露莱昂纳德会缺席训练营前的某些训练项目。对此,篮球评论员苏群也更新了个人公众号谈及此事。 与其说莱昂纳德忽悠快船,不如说莱昂纳德被医生给忽悠了。现在的问题是,不知道这个医生是莱昂纳德自己指定的,还是快船的队医。显然在过去的这个夏天,莱昂纳德的膝盖被严重误判。有一个重要的证据:奥运会前莱昂纳德去参加了美国队的集训,上了两堂训练课,然后总经理格兰特·希尔和主教练科尔决定更换,快船老总弗兰克因此公开发难。这个事件表明,莱昂纳德很想打奥运会,弗兰克很想让他打奥运会,他们两人都认为再等几天没有问题。但希尔和科尔都认为不行,膝盖都肿起来了,千万不要勉强。果不其然,莱昂纳德现在
4 北京时间9月26日,英联杯第三轮的较量中,利物浦坐镇主场5-1大胜西汉姆联,赛后利物浦主教练斯洛特出席新闻发布会接受采访。 对于本场比赛展现出来的阵容深度,斯洛特表示:“你们已经开始笑了,因为你们认为这两个月来我只是在询问新球员的情况。其实我一直在告诉你们,我们已经拥有了很多优秀的球员,你们也看到了,这也是我们在过去几周和今天所展示的,我们有很多优秀的球员。最让我高兴的是,虽然我们来了很多新球员,但他们都没有急着自我表现,他们努力服务于团队。” 对于若塔以及加克波分别梅开二度的表现,斯洛特说到:“我认为若塔当之无愧,他已经为我们踢了很多场精彩的比赛。如果我没记错的话,他只在第一场对伊普斯维奇的比赛中进球,但他在每场比赛中对我们都很重要。当然前锋是需要进球,虽然他今天踢的是10号位,但他今天
5 事件回放 在上一站新加坡大奖赛的最后阶段,迈凯伦车手诺里斯处于榜首位置并手握最快单圈,红牛车队的维斯塔潘紧随其后。按照这样的结果结束,诺里斯本站比赛可以比维斯塔潘多拿8个积分。 但是小红牛车队最后时刻让名次上无欲无求的里卡多进站换上全新的轮胎,刷掉了诺里斯的最快单圈,这意味着里卡多帮助维斯塔潘“挣”了一分——这一分在赛季结束时,可能会对世界冠军的归属产生重大影响。 这件事情在赛后引起了很大的争议。迈凯轮车队负责人斯特拉对里卡多的最快圈速感到沮丧,表示这很有可能会伤害到F1这项运动。 沃尔夫罕见支持红牛 梅赛德斯领队沃尔夫与红牛领队霍纳之间的口水仗已经是司空见惯的事情,但是这一次沃尔夫却站到了红牛这一边。他在接受采访时表示:“我认为你在比赛中可以运用你所有的策略。我不认为这是一场肮脏的比赛。
6 在上个周末的新加坡大奖赛期间,有很多消息称澳洲老将里卡多将迎来自己在红牛的最后一场比赛,从下一站比赛开始,他的位置将被新秀劳森顶替。新加坡大奖赛结束之后,小红牛工程师列队欢迎里卡多,似乎更加印证了这样的说法。 里卡多本周在接受采访时承认自己在F1的未来非常不确定,但是事情在今日有了戏剧性的变化,根据F1专家卡尔弗(Allard Kalff)的说法,里卡多不仅不会离开红牛,反而被会红牛提拔到一队,因为墨西哥车手佩雷兹有可能会在本赛季结束之后退役。 里卡多在2023年F1重新红牛,他被安排到小红牛,而他的目标是有朝一日能够重返红牛一队,但是里卡多这两个赛季在小红牛的表现相当糟糕,还遭遇了手掌骨折等意外,在成绩方面一直不如队友角田裕毅。 卡尔弗今日在自己的报道中称,墨西哥车手佩雷兹有可能会在本赛
7 北京时间9月26日,前天津津门虎球员梅里达在社交媒体宣布退役,津门虎官方对梅里达的退役表达了祝福。 天津津门虎在社交媒体上写道:“梅里达在个人社交媒体宣布了自己退役的消息。感谢梅里达为我们留下的美好回忆!愿你享受退役后的每一天。”梅里达在津门虎效力期间表现出色,他在各项赛事为球队出战了45场比赛,送出5个进球和6次助攻。 现年34岁的梅里达来自西班牙,在场上司职中前卫,出自拉玛西亚青训体系,职业生涯曾经效力阿森纳、马竞、皇家社会、奥萨苏纳以及西班牙人等知名球员,这其中在西班牙人效力期间还曾经和武磊做过队友。梅里达在2022年8月份自由加盟天津津门虎,今年1月份他前往西协甲球队卢戈,并在赛季后离队。 梅里达在社交媒体上表示,自己18年开始足球职业生涯,有幸体验到了如此多足球的快乐。梅里达也特
8 北京时间9月26日,英联杯第三轮的较量中,阿森纳5-1大胜博尔顿,17岁小将恩瓦内里第一次在成年队首发就完成梅开二度,赛后他接受媒体采访。 “我今天真是太兴奋了。”恩瓦内里说道,“我很高兴能够帮助球队晋级下一轮,接下来就是为接下来的比赛继续做好准备了。” 作为阿森纳青训球员,球迷们对于恩瓦内里非常关注,他们在看台上高唱“恩万内里是我们自己人。”对此恩瓦内里说道:“当你深爱这个俱乐部以及球迷都高喊这句话的时候,这种感觉真是太棒了,没错,这是极好的感觉。我9岁就和他们在一起,然后现在我们一起走进了大球场,这是一种疯狂的感觉。” 恩瓦内里在上下半场各入一球,成为最近20年来单场进2球的最年轻的阿森纳球员,赛后他也经过球迷的投票,当选为队内最佳球员。“这种感觉是超现实的,这是我16年来一直梦寐以求
9 北京时间9月26日,此前段睿骐在跟随中国国青参加U18男篮亚洲杯时遭遇伤病情况,今天段睿骐所在的俱乐部四川男篮也发布了这位小将的伤情报告。 四川男篮官方原文如下: 我俱乐部球员段睿骐在代表国家U18男篮比赛中遭遇伤病,后经诊断为右膝关节前交叉韧带断裂,已于9月25日在北京成功完成手术,预估康复周期40周。俱乐部将全力做好康复保障工作,愿伤病远离每一位球员,祝愿段睿骐早日康复,踏上CBA赛场。 ​​​ 此前的U18男篮亚洲杯,段睿骐在中国男篮对战日本男篮的小组赛中,上演了一记三分球绝杀,帮助球队以小组头名出线。但在季军战对战约旦的比赛中,段睿骐在一次救球中遭遇膝盖受伤,最终被诊断为右膝关节前交叉韧带断裂。 在此前CBA官网更新的四川男篮国内球员注册信息中,四川男篮和段睿骐达成了一份为期2年的

 

posted @ 2024-09-26 13:11  松鼠q  阅读(5)  评论(0编辑  收藏  举报