• 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 工资「喂饱肚子」,副业「养活灵魂」!

Python – 爬取直播吧首页重要赛事赛程信息

Python 发布于2022-11-23 阅读 2,973次 0次评论 0次点赞 本文共4273个字,阅读需要11分钟。

1 Python爬取直播吧首页重要赛事赛程信息

最近想做一个每日邮件提醒功能,包括提醒自己每天的天气以及每天的体育赛事,防止因为自己事情多忘记了一些重要的赛事,直播吧每天都更新了重要的赛程信息,如下

Python - 爬取直播吧首页重要赛事赛程信息-第0张图片

我希望爬取直播吧首页重要的赛事信息,使用最简单的requests+BeautifulSoup的方案,做了简单的随机User-Agent混淆,爬取的代码如下

import requests
from random import choice
from bs4 import BeautifulSoup

UserAgents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 *OPR*/44.0.2510.1218",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 *2345Explorer*/8.4.1.14855",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 *JuziBrowser*",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 *LBBROWSER*",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2441.400 *QQBrowser*/9.5.10632.400",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X *MetaSr* 1.0",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) *Maxthon*/5.0.2.2000 Chrome/47.0.2526.73 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 *UBrowser*/6.1.2107.204 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 *BIDUBrowser*/8.4 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 *TheWorld* 7",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 *YaBrowser*/17.3.1.840 *Yowser*/2.5 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36 *Qiyu*/2.1.0.0",
    "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5",
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.42'
]


class ZBB:
    def __init__(self):
        self.url = "https://www.zhibo8.cc/"


    def get_zbb_sports_schedule(self):
        request_headers = {
            'User-Agent': choice(UserAgents)
        }

        res = requests.get(url=self.url, headers=request_headers)
        res.encoding = 'utf-8'
        soup = BeautifulSoup(res.text, 'html.parser')
        schedule_container = soup.find("div", class_="schedule_container left")
        boxs = schedule_container.find_all("div", class_="box")

        for box in boxs:
            data_str = box.find("div", class_="titlebar").text.replace("\n", "")

            print(data_str)

            ul = box.find("div", "content").find_all("li")
            for li in ul:
                data_time_str = li.find(text=True, recursive=False)
                sports_schedule_str = li.find("b").text.replace("   ","")
                print('{0} {1}'.format(data_time_str,sports_schedule_str))

if __name__ == '__main__':
    zbb = ZBB()
    zbb.get_zbb_sports_schedule()

部分结果

11月23日 星期三
15:00  王者荣耀世冠杯外卡赛 TFB-BAC
15:45  王者荣耀世冠杯外卡赛 SZ-BOX
16:30  王者荣耀世冠杯外卡赛 TRB-TFB
17:15  王者荣耀世冠杯外卡赛 GEN-BOX
18:00  世界杯小组赛F组第1轮 摩洛哥-克罗地亚
18:00  王者荣耀世冠杯外卡赛 SZ-BAC
18:00  斯诺克德国大师赛资格赛Day3
18:45  王者荣耀世冠杯外卡赛 TQ-TRB
19:30  王者荣耀世冠杯外卡赛 GEN-TFB
20:15  王者荣耀世冠杯外卡赛 IMP-BAC
21:00  世界杯小组赛E组第1轮 德国-日本
21:00  王者荣耀世冠杯外卡赛 GEN-TQ
21:45  王者荣耀世冠杯外卡赛 IMP-TRB
22:30  斯诺克德国大师赛资格赛 格雷斯-颜丙涛
11月24日 星期四
00:00  世界杯小组赛E组第1轮 西班牙-哥斯达黎加
03:00  世界杯小组赛F组第1轮 比利时-加拿大
08:00  NBA常规赛 76人-黄蜂
08:00  NBA常规赛 开拓者-骑士
08:00  NBA常规赛 森林狼-步行者
08:30  NBA常规赛 国王-老鹰
08:30  NBA常规赛 独行侠-凯尔特人
08:30  NBA常规赛 奇才-热火
08:30  NBA常规赛 篮网-猛龙
09:00  NBA常规赛 公牛-雄鹿
09:00  NBA常规赛 掘金-雷霆
09:00  NBA常规赛 鹈鹕-马刺
10:00  NBA常规赛 活塞-爵士
11:00  NBA常规赛 快船-勇士
12:00  鏖战世界波第5期 鏖战世界波-第5期
15:00  王者荣耀世冠杯外卡赛 BAC-BOX
15:45  王者荣耀世冠杯外卡赛 SZ-TFB
16:30  王者荣耀世冠杯外卡赛 TQ-BOX
17:15  王者荣耀世冠杯外卡赛 GEN-BAC
18:00  世界杯小组赛G组第1轮 瑞士-喀麦隆
18:00  王者荣耀世冠杯外卡赛 TQ-TFB
18:00  斯诺克德国大师赛资格赛Day4
18:00  斯诺克德国大师赛资格赛 乔丹-布朗-丁俊晖
18:30  NBL(A)常规赛 珀斯野猫-阿德莱德36人
18:45  王者荣耀世冠杯外卡赛 IMP-SZ
19:30  王者荣耀世冠杯外卡赛 TRB-BOX
20:15  王者荣耀世冠杯外卡赛 IMP-GEN
20:30  足球友谊赛 狮城水手-多特蒙德
21:00  世界杯小组赛H组第1轮 乌拉圭-韩国
21:00  王者荣耀世冠杯外卡赛 SZ-TRB
11月25日 星期五
00:00  世界杯小组赛H组第1轮 葡萄牙-加纳
03:00  世界杯小组赛G组第1轮 巴西-塞尔维亚
09:20  NFL常规赛 爱国者-维京人
......

然后将这个模块加入到我的每日清晨的定时邮件发送中去,那么起床的第一时间以及在通行时就可以通过阅读邮件来看今天有什么比较重要的体育赛事了,完结撒花!

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:Python – 爬取直播吧首页重要赛事赛程信息

原文链接:https://www.stubbornhuang.com/2418/

发布于:2022年11月23日 15:32:59

修改于:2023年06月21日 17:50:14

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
C++ - RAII机制
C++
下一篇
Blender - 更换默认的渲染背景环境贴图
Blender
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号