已购用户必看

  • 2022-11-27更新
    在【四、作业实现成果】下,新增了【代码更新】,修复了一些原因引起的bug,该bug曾导致部分直播间的标题异常丢失。

  • 2022-12-10更新
    在【四、作业实现成果】下,新增了【更新直播分区】,可以使得已购买用户根据自身需要更改直播的内容分区。


一、大作业要求

结合所选专业方向(信息处理、嵌入式、人工智能、大数据处理),用所学Python技术设计并实现一个与专业方向技术相关的、功能完整的系统,并撰写总结报告。

实现要求:

(1)实现涵盖以下技术:
  • 图形界面、
  • 多线程、
  • 文件操作、
  • 数据库编程、
  • 网页爬虫、
  • 异常处理。

A可侧重于应用系统,结合爬虫丰富系统功能,提升用户体验。
B可考虑实现物联网。
C可侧重于爬取网站图片,并进行图形或图像识别。
D可侧重于基于爬虫进行数据采集,并进行数据的统计分析。

(2)系统具有一定复杂度。爬取图片不少于500张。采集数据不少于1000条,统计分析的目标不能少于3个。其中每项均可根据需求进行增添或删减。

二、设计方案

1、设计了虎牙主页的爬虫,包括直播间封面、主播名、人气、直播间标题、主播id、主播房间号等信息。

另附虎牙直播分类页面进行对比查阅:虎牙直播分类

2、使用python3实现爬取数据,使用sqlite3模块进行数据存储,本地化存储,不需要额外安装数据库软件,但相应的不能可视化操作数据库内容;使用plt模块进行数据的绘图,使用tkinter模块实现界面。

3、通过tkinter的绑定事件,实现了单击列名可使列表按字符升序(降序)排列;实现了单击某一主播会在软件主页面更新页面图片,双击时会在浏览器打开该主播的直播间;实现了快捷键绑定,如F5刷新列表,Ctrl+F聚焦搜索框;实现了主播列表里的搜索功能,可通过Ctrl+F快捷键快速搜索;实现了单击页面图片可在浏览器跳转到对应主播的直播间


三、软件支持

  • Windows 10 操作系统(理论上对Windows版本无要求)
  • Visual Studio 2022 Community(2017发行版及以上)
  • Python3开发环境(笔者本人版本号为3.9.5)

四、作业实现成果

  • 英雄联盟分类下的运行界面↓

  • 切换游戏列表为穿越火线分类下的运行界面↓

  • 人气范围统计图功能展示↓

  • 人气对比图功能展示↓

  • 英雄联盟分类下人气Top10榜单功能展示↓

  • 主播列表按"主播"列字符降序排列↓

  • 主播列表按"人气"列浮点数降序排列↓

  • 单击单个主播功能展示↓

代码说明


运行代码前需要更改图中所示的变量,确保路径有效,文件存在,否则运行会报错。

代码更新

已经购买了资源的各位,请在代码的第342行左右找到这两个函数,复制以下代码并粘贴替换掉原来的几行。(不修改不影响使用,只是有些直播间的标题会缺失,除此之外的功能都一切正常。)

def listUpdate(self, *args):# 更新列表,获取当前列表的成员,根据菜单栏中的字符串对比字典得到对应游戏的主播列表# 清空列表并将主播列表中的主播逐个添加if args:gameiList = gamesDict[games[args[0]]]else:gameiList = gamesDict[slbarVal.get()]clearTreeview(tree)for i in gameiList:if(i['roomName']):newItem = [i['nick'], i['totalCount'], i['roomName'], i['uid'], i['privateHost']]else:newItem = [i['nick'], i['totalCount'], i['introduction'], i['uid'], i['privateHost']]tree.insert('', END, value=newItem)def initList():for i in game1List:if(i['roomName']):newItem = [i['nick'], i['totalCount'], i['roomName'], i['uid'], i['privateHost']]else:newItem = [i['nick'], i['totalCount'], i['introduction'], i['uid'], i['privateHost']]tree.insert('', END, value=newItem)

运行代码需要确保代码所需的包都已经下载,方式是

python3
pip install xxxxx

[更改直播分区]

  1. 如果想要更改默认选取的三个分区,可以前往虎牙的网站查看想更改的分区的编号,并更改代码相应部分。
  2. 如当想要选择“炉石传说”时,在地址栏找到对应编号,此处为“993”,其它分区同理。
  3. 在代码的520行左右找到game1Url,并更改其内容中的gameId=后面的那些编号,改成上一步复制的编号,随后在下方games处更改对应的分区名字即可
  4. 最终效果如图

附件

代码及文件:代码及附件(付费资源)

Python爬虫大作业(仿虎牙直播客户端)相关推荐

  1. python爬虫大作业任务书_爬虫大作业

    通过 爬取2345电影网的电影信息 ,通过电影的类型和评分分别生成相应的词云 进行数据分析 一.准备过程 首先打开2345电影网的热播电影区,网址是https://dianying.2345.com/ ...

  2. python爬虫大作业爬多少数据_爬虫大作业

    1.选一个自己感兴趣的主题(所有人不能雷同). 2.用python 编写爬虫程序,从网络上爬取相关主题的数据. 3.对爬了的数据进行文本分析,生成词云. 4.对文本分析结果进行解释说明. 5.写一篇完 ...

  3. Python爬虫大作业+数据可视化分析(抓取python职位)

    目录 一.抓取并解析数据 1.导入相关库 2.获取网页信息 3.数据清洗 4.爬取结果: ??二.保存数据 1.保存到excel中 2.保存到数据库中 ? ?3.调用 三.使用flask,实现可视化 ...

  4. 大学web基础期末大作业~仿品优购商城页面制作(HTML+CSS+JavaScript)

    HTML网页设计期末课程大作业~~仿品优购页面制作(HTML+CSS+JavaScript) 关于HTML期末网页制作,大作业A+水平 ~仿品优购网页作业HTML+CSS+JavaScript实现,共 ...

  5. 好家伙!清华电子系大一暑假Python课程大作业上知乎热榜!竟是个CV任务

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 编辑:Amusi  |  来源:知乎 https://www.zhihu.com/question/4719 ...

  6. HTML期末大作业~仿小米商城网页设计模板(HTML+CSS+JavaScript)

    HTML期末大作业~基于HTML+CSS+JavaScript仿小米商城(功能齐全) 关于HTML期末网页制作,大作业A+水平 ~仿小米商城网页作业HTML+CSS+JavaScript实现,共有登录 ...

  7. Python程序设计 大作业 简化的PS

    查看原文 Python程序设计 作业 海龟绘图 文本处理 分组游戏设计 数字照片墙 送你一首集句诗 简化的PS Python程序设计 大作业 简化的PS Python程序设计 作业 摘要 1. 项目背 ...

  8. HTML5+CSS大作业——仿新浪微博个人主(4页) html期末作业代码网页设计

    HTML5+CSS大作业--仿新浪微博个人主(4页) 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体 ...

  9. HTML5+CSS大作业——仿新浪微博个人主(4页)

    HTML5+CSS大作业--仿新浪微博个人主(4页) 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体 ...

最新文章

  1. Zookeeper和Redis实现分布式锁,附我的可靠性分析
  2. 进军“手机照相馆”:京东要和3C厂商干什么?
  3. android 时间轴动画教程,android 时间轴(listview实现) 源码
  4. 徐州联赛选拔赛 - 判断能否构成树
  5. ICCV 2019 开源论文 | 基于元学习和AutoML的模型压缩新方法
  6. 我删删删删库了,要跑路吗?
  7. 多线程中join()的用法
  8. 辍学的名人_辍学效果如此出色的5个观点
  9. css定位position
  10. mongodb 2php 操作
  11. React Native开发指南-在原生和React Native间通信
  12. 数组对象的filter方法
  13. 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止
  14. 单层工业厂房设计原理以及知识重点
  15. oracle lob值是什么,oracle LOB介绍
  16. STM32——CAN通信实验
  17. iOS 图片编辑——涂鸦——在图片上添加文字
  18. 5G端到端时延要求1ms是个什么概念?
  19. 万级并发服务器内核调优总结
  20. 快速构建属于自己的博客网站

热门文章

  1. vscode中打开pdf文件_VSCode中LaTeX和SumatraPDF双向搜索
  2. STM32-CAN控制器介绍
  3. 一文图解单目相机标定算法
  4. 职场 | 怎样进行薪酬谈判
  5. docker容器SSH连接
  6. seo 之大站策略,长尾词策略
  7. 店盈通:拼多多店铺该怎么运营?店铺运营思路解析
  8. mysql 51cto 函数_MySQL常用函数
  9. 语音信号处理-1-----语音信号预处理
  10. 通过BitSet源码来理解BitMap算法