数据可视化(爬取豆瓣网站)

目录

[1 绪论](#1 绪论)

[1.1 研究背景](#1.1 研究背景)

[1.2 研究目的和意义](#1.2 研究目的和意义)

[1.3 研究内容和方法](#1.3 研究内容和方法)

[2. 需求分析](#2. 需求分析)

[2.1 系统功能描述](#2.1 系统功能描述)

[2.2 数据采集与预处理](#2.2 数据采集与预处理)

[2.2.1 数据采集](#2.2.1 数据采集)

[2.2.2 数据清洗](#2.2.2 数据清洗)

[2.2.3 数据处理](#2.2.3 数据处理)

[2.3 功能需求](#2.3 功能需求)

[2.3.1 登录模块](#2.3.1 登录模块)

[2.3.2 数据展示模块](#2.3.2 数据展示模块)

[3 系统设计](#3 系统设计)

[3.1 系统功能结构设计](#3.1 系统功能结构设计)

[3.2 系统技术架构设计](#3.2 系统技术架构设计)

[4 数据库设计](#4 数据库设计)

4.1概念结构设计

[4.2 逻辑结构设计](#4.2 逻辑结构设计)

[4.3 数据库物理结构](#4.3 数据库物理结构)

4.3.1物理存储

[4.3.2 物理优化](#4.3.2 物理优化)

[5. 详细设计](#5. 详细设计)

[5.1 系统总体功能流程图](#5.1 系统总体功能流程图)

5.2数据采集与预处理

[5.2.1 关键类说明](#5.2.1 关键类说明)

[5.2.2 核心代码](#5.2.2 核心代码)

5.3前端模块

5.3.1用户登录模块

6创新设计/代码优化

[6.1 创新设计/代码优化描述及意义](#6.1 创新设计/代码优化描述及意义)

6.2创新设计/代码优化效果图或效果描述

6.3创新设计/代码优化中的核心代码说明

7总结与展望

1 绪论

1.1 研究背景

在当今数字化时代,信息的获取和管理变得越来越重要。豆瓣作为一个知名的社交平台,拥有大量的用户和丰富的信息资源。然而,这些信息往往分散在不同的页面和帖子中,难以进行有效的整合和分析。因此,选择爬取豆瓣热销数据作为课程设计题目,具有以下原因和背景:

实际需求:许多企业和组织需要了解市场动态和用户需求,以便制定更好的营销策略和产品规划。通过爬取豆瓣热销数据,可以获取用户对不同产品和话题的关注度和评价,为企业和组织提供有价值的参考。

学术研究:豆瓣数据也可以用于学术研究,例如社会网络分析、文本挖掘和情感分析等。通过对豆瓣数据的研究,可以深入了解用户行为和社会现象,为相关领域的研究提供数据支持和理论依据。

技术挑战:爬取豆瓣数据需要解决一些技术挑战,例如反爬虫机制、数据清洗和存储等。通过解决这些技术挑战,可以提高学生的编程能力和解决问题的能力。

1.2 研究目的和意义

本课程设计的目的是通过爬取豆瓣热销数据,并将其存储到 MySQL 数据库中,然后通过网页展示数据的柱状图,实现对豆瓣热销数据的可视化分析。具体来说,本课程设计的目的包括以下几个方面:

提高数据获取和处理能力:通过爬取豆瓣数据,学生可以学习如何使用 Python 编写爬虫程序,获取网页上的数据,并进行数据清洗和处理。

掌握数据库操作技能:通过将爬取到的数据存储到 MySQL 数据库中,学生可以学习如何使用 SQL 语句进行数据库操作,包括创建表、插入数据、查询数据和更新数据等。

实现数据可视化:通过使用 Flask 框架和 Echarts 库,学生可以学习如何创建 Web 应用程序,将数据从数据库中读取出来,并以柱状图的形式展示给用户。

培养团队合作和沟通能力:本课程设计需要学生组成团队,共同完成爬虫程序的编写、数据库的设计和 Web 应用程序的开发。通过团队合作,学生可以培养团队合作和沟通能力,提高工作效率和质量。

本课程设计的意义在于,通过对豆瓣热销数据的可视化分析,可以帮助用户更好地了解市场动态和用户需求,为企业和组织提供有价值的参考。同时,本课程设计也可以为学生提供一个实践机会,让学生将所学的知识应用到实际项目中,提高学生的综合素质和竞争力。

1.3 研究内容和方法

本课程设计的主要研究内容包括以下几个方面:

  1. 豆瓣数据的爬取:使用 Python 编写爬虫程序,从豆瓣网站上爬取热销数据,包括帖子的标题、链接、点赞数、回复数、发布时间等。
  2. 数据的清洗和处理:对爬取到的数据进行清洗和处理,去除重复数据和无效数据,并将数据转换为适合存储和分析的格式。
  3. 数据库的设计和实现:设计一个 MySQL 数据库,用于存储爬取到的数据,并使用 SQL 语句进行数据库操作。
  4. Web 应用程序的开发:使用 Flask 框架和 Echarts 库,开发一个 Web 应用程序,将数据从数据库中读取出来,并以柱状图的形式展示给用户。

本课程设计采用的研究方法和技术路线如下:

  1. 文献研究法:查阅相关的文献资料,了解豆瓣数据的特点和爬取方法,以及数据可视化的技术和工具。
  2. 实验研究法:通过编写爬虫程序和开发 Web 应用程序,进行实验研究,验证研究方法和技术路线的可行性和有效性。
  3. 比较研究法:对不同的爬虫程序和数据可视化工具进行比较研究,选择最适合本课程设计的方法和工具。

在研究过程中,我们将注重数据的安全和隐私保护,遵守相关的法律法规和道德规范。

2. 需求分析

2.1 系统功能描述

图2-1 系统总体用例图

系统主要包括以下功能:

数据爬取:从豆瓣小组页面获取热销数据,包括帖子的标题、链接、点赞数、回复数、图片、附加文本、小组来源和发布时间等信息。

数据存储:将爬取到的数据存储到 MySQL 数据库中。

数据处理:对存储在数据库中的数据进行清洗、转换和特征工程等处理,以便后续分析和展示。

数据展示:通过网页展示数据的柱状图,以便用户直观地了解数据的分布情况。

2.2 数据采集与预处理

2.2.1 数据采集

本系统使用 Python 编写爬虫程序,从豆瓣小组页面获取热销数据。爬虫程序使用requests库发送 HTTP 请求获取页面内容,使用BeautifulSoup库解析 HTML 页面,提取所需信息。

在数据采集过程中,需要注意以下几点:

  1. 遵守豆瓣的使用规则:在爬取数据时,需要遵守豆瓣的使用规则,不得对豆瓣服务器造成过大的负担。
  2. 设置合理的请求间隔:为了避免被豆瓣服务器封禁,需要设置合理的请求间隔,不得过于频繁地发送请求。
  3. 处理异常情况:在爬取数据时,可能会遇到各种异常情况,如网络连接异常、页面解析异常等。需要对这些异常情况进行处理,确保程序的稳定性和可靠性。

2.2.2 数据清洗

对爬取到的数据进行清洗,去除重复记录、处理缺失值和异常值等。数据清洗的主要步骤如下:

  1. 去除重复记录:对爬取到的数据进行去重处理,确保每条记录都是唯一的。
  2. 处理缺失值:对数据中的缺失值进行处理,可以使用默认值、平均值、中位数等方法进行填充。
  3. 处理异常值:对数据中的异常值进行处理,可以使用删除、替换等方法进行处理。

2.2.3 数据处理

  1. 对清洗后的数据进行处理,包括数据转换、特征工程和数据集的构建等。数据处理的主要步骤如下:
  2. 数据转换:对数据进行转换,将数据转换为适合分析和展示的格式。
  3. 特征工程:对数据进行特征工程,提取有用的特征,以便后续分析和建模。
  4. 数据集的构建:将处理后的数据构建为数据集,以便后续分析和建模。

2.3 功能需求

2.3.1 登录模块

表2_1 M01 用户登录模块

|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 功能描述 | 用户输入用户名和密码,点击登录按钮进行身份验证 |
| 适用角色 | 普通用户 |
| 从何处开始 | 用户访问系统登录页面 |
| 以何结束 | 用户登录成功进入系统首页或登录失败显示错误信息 |
| 输入 | 用户名、密码 |
| 过程描述 | 1. 用户访问系统登录页面。 2. 用户输入用户名和密码。 3. 系统验证用户名是否存在于数据库中。 4. 如果用户名不存在,系统提示"用户名不存在"。 5. 如果用户名存在,系统验证密码是否与数据库中存储的密码匹配。 6. 如果密码不匹配,系统提示"密码错误"。 7. 如果密码匹配,系统将用户重定向到系统首页。 |
| 输出 | 登录成功或失败的提示信息 |
| 约束条件 | 用户名和密码不能为空 |
| 相关业务规则 | 用户名和密码必须匹配系统中存储的用户信息 |
| 异常描述 | 1. 网络连接异常:系统将显示网络连接异常的提示信息。 2. 用户名或密码错误:系统将显示用户名或密码错误的提示信息。 |

2.3.2 数据展示模块

表2_2M02 数据展示模块

|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 功能描述 | 以柱状图形式展示爬取到的数据 |
| 适用角色 | 普通用户 |
| 从何处开始 | 用户登录系统后,点击数据展示模块 |
| 以何结束 | 系统展示柱状图 |
| 输入 | 无 |
| 过程描述 | 1. 用户登录系统后,点击数据展示模块。 2. 系统从数据库中读取数据,并进行处理和转换。 3. 系统使用 Echarts 库生成柱状图,并将其展示在页面上。 4. 用户可以通过交互操作,如缩放、拖动等,查看不同时间段的数据分布情况。 |
| 输出 | 以柱状图形式展示的数据 |
| 约束条件 | 系统必须成功连接到数据库,并读取到数据。 数据必须经过处理和转换,以符合 Echarts 库的要求。 页面必须能够正常加载 Echarts 库,并展示柱状图。 |
| 相关业务规则 | 1. 数据展示的时间范围可以根据用户的需求进行调整。 2. 柱状图的颜色、样式等可以根据用户的喜好进行定制。 |
| 异常描述 | 1. 网络连接异常:系统将显示网络连接异常的提示信息,并尝试重新连接数据库。 2. 数据库读取失败:系统将显示数据库读取失败的提示信息,并提示用户检查数据库连接是否正常。 3. Echarts 库加载失败:系统将显示 Echarts 库加载失败的提示信息,并提示用户检查页面是否正常加载了 Echarts 库。 |

2.3.3 数据爬取模块

表2_3M03 数据爬取模块

|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 功能描述 | 从豆瓣小组页面获取热销数据 |
| 适用角色 | 管理员 |
| 从何处开始 | 用户点击数据爬取按钮 |
| 以何结束 | 系统将爬取到的数据存储到 MySQL 数据库中 |
| 输入 | 无 |
| 过程描述 | 1. 用户点击数据爬取按钮。 2. 系统使用 Python 编写的爬虫程序,发送 HTTP 请求获取豆瓣小组页面内容。 3. 爬虫程序使用 BeautifulSoup 库解析 HTML 页面,提取所需信息。 4. 系统将爬取到的数据进行清洗和处理,去除重复记录、处理缺失值和异常值等。 5. 系统将处理后的数据存储到 MySQL 数据库中。 |
| 输出 | 爬取到的数据存储到 MySQL 数据库中 |
| 约束条件 | 系统必须成功连接到豆瓣网站,并获取到页面内容。 爬虫程序必须能够正确解析 HTML 页面,提取所需信息。 系统必须能够处理异常情况,如网络连接异常、页面解析异常等。 |
| 相关业务规则 | 1. 爬虫程序的运行时间和频率可以根据用户的需求进行调整。 2. 数据清洗和处理的规则可以根据用户的需求进行定制。 |
| 异常描述 | 1. 网络连接异常:系统将显示网络连接异常的提示信息,并尝试重新连接豆瓣网站。 2. 页面解析异常:系统将显示页面解析异常的提示信息,并提示用户检查爬虫程序是否正确。 3. 数据存储失败:系统将显示数据存储失败的提示信息,并提示用户检查数据库连接是否正常。 |

2.3.1 数据处理模块

表2_4M04 数据处理模块

|--------|-------------------------------------------------------------------------------------------------------------------------------|
| 功能描述 | 对存储在数据库中的数据进行清洗、转换和特征工程等处理 |
| 适用角色 | 管理员 |
| 从何处开始 | 用户点击数据处理按钮 |
| 以何结束 | 系统将处理后的数据存储到数据库中 |
| 输入 | 无 |
| 过程描述 | 1. 用户点击数据处理按钮。 2. 系统从数据库中读取数据,并进行清洗和处理。 3. 系统对数据进行转换,将数据转换为适合分析和展示的格式。 4. 系统对数据进行特征工程,提取有用的特征,以便后续分析和建模。 5. 系统将处理后的数据存储到数据库中。 |
| 输出 | 处理后的数据存储到数据库中 |
| 约束条件 | 系统必须成功连接到数据库,并读取到数据。 数据清洗和处理的规则必须符合业务需求。 数据转换和特征工程的方法必须科学合理。 |
| 相关业务规则 | 1. 数据处理的时间范围可以根据用户的需求进行调整。 2. 数据清洗和处理的规则可以根据用户的需求进行定制。 |
| 异常描述 | 1. 数据库读取失败:系统将显示数据库读取失败的提示信息,并提示用户检查数据库连接是否正常。 2. 数据处理失败:系统将显示数据处理失败的提示信息,并提示用户检查数据处理规则是否正确。 |

3 系统设计

3.1 系统功能结构设计

  1. 登录模块:实现用户的登录验证。
  2. 数据采集模块:从豆瓣小组页面获取热销数据,包括基本信息和详细信息。
  3. 数据存储模块:将采集到的数据存储到 MySQL 数据库中。
  4. 数据处理模块:对存储在数据库中的数据进行处理和分析。
  5. 数据展示模块:以可视化的方式展示数据,例如柱状图。

3.2 系统技术架构设计

系统采用了 Flask 框架作为后端,前端使用 HTML、CSS 和 JavaScript 进行开发。数据库使用 MySQL 进行存储。系统的技术架构如图 3-2 所示。

图 3-2 系统技术流程图

  1. Flask 框架:用于构建 Web 应用程序,处理用户请求和响应。
  2. pymysql:用于连接 MySQL 数据库,执行 SQL 语句。
  3. BeautifulSoup:用于解析 HTML 页面,提取所需信息。
  4. requests:用于发送 HTTP 请求,获取网页内容。
  5. concurrent.futures:用于并行处理多个请求,提高数据采集效率。

4 数据库设计

4.1概念结构设计

实体和关系:

用户(User):存储用户的基本信息,如用户名、密码等。

小组详情(GroupDetails):存储从豆瓣小组页面采集到的详细信息,如链接、回复数、标题、内容、发布时间、点赞数等。

图4-1 全局系统E-R图

4.2 逻辑结构设计

(1)E-R 图转换为关系模型:

用户(User):用户表(user_id, username, password),其中 user_id 为主键,username 和 password 为用户的基本信息。

小组详情(GroupDetails):小组详情表(group_id, link, reply_count, title, content, post_time, like_count),其中 group_id 为主键,link 为小组的链接,reply_count 为回复数,title 为标题,content 为内容,post_time 为发布时间,like_count 为点赞数。

(2)逻辑模型优化:

为了提高查询效率,可以在小组详情表的 link 字段上创建索引。

对于数据量较大的小组详情表,可以考虑进行分表或分区,以提高查询和存储效率。

(3)用户视图设计:

根据不同用户的需求,可以设计不同的用户视图。如柱状图扇形图、折线图、饼图等。

4.3 数据库物理结构

4.3.1物理存储

数据库的物理存储包括表空间、数据文件和索引文件等。根据系统的需求和数据量,设计了合理的物理存储结构,以提高数据库的性能和存储效率。

表空间:创建了一个名为"douban_data"的表空间,用于存储数据库的所有表和索引。

数据文件:在表空间"douban_data"中创建了一个数据文件"douban_data.dat",用于存储数据库的数据。

索引文件:为了提高数据库的查询性能,为"group_details"表的"link"字段创建了索引。索引文件的名称与表名相同,后缀为".idx"。

4.3.2 物理优化

为了提高数据库的性能,进行了以下物理优化措施:

  1. 索引优化:根据查询需求,合理创建索引,提高查询效率。例如,为"group_details"表的"link"字段创建索引,可以加快根据链接查询小组详情的速度。
  2. 表分区:对于数据量较大的表,可以考虑进行表分区,以提高查询效率。例如,可以根据发布时间对"group_details"表进行分区,将不同时间段的数据存储在不同的分区中,从而提高查询特定时间段数据的效率。
  3. 数据库缓存:使用数据库缓存,减少数据库的磁盘 I/O 操作,提高数据库的性能。例如,可以使用 MySQL 的查询缓存功能,将查询结果缓存起来,下次查询相同的内容时直接从缓存中获取,而不需要再次执行查询语句。
  4. 数据库备份和恢复:定期进行数据库备份,以防止数据丢失。同时,制定了数据库恢复策略,以保证在数据库出现故障时能够快速恢复数据。

5. 详细设计

5.1 系统总体功能流程图

本系统主要包括用户登录、数据采集、数据存储、数据处理和数据展示等功能。用户登录后,可以进行数据采集和数据处理操作,系统将采集到的数据存储到数据库中,并进行处理和分析,最后以可视化的方式展示数据。

5.2数据采集与预处理

5.2.1 关键类说明

Spider:数据采集类,负责从豆瓣小组页面获取热销数据。

DataProcessor:数据处理类,负责对采集到的数据进行清洗、转换和特征工程等处理。

DatabaseManager:数据库管理类,负责将处理后的数据存储到数据库中,并进行数据库操作。

5.3 前端 模块

5.3.1用户登录模块

(1)时序图

图5_2 时序图

(2)核心代码

@app.route('/', methods=['GET', 'POST'])

def login():

if request.method == 'POST':

session['logged_in'] = True

return redirect(url_for('index'))

return render_template('login.html')

(3)用户登录界面界面

图5_3用户登录界面

6创新设计/代码优化

6.1 创新设计/代码优化描述及意义

  1. 前端界面改进:在前端界面设计中,我们采用了现代化的 HTML 和 CSS 技术,使界面更加美观、简洁和易用。同时,我们还使用了 JavaScript 和 Echarts 库来实现数据的可视化展示,使用户能够更加直观地了解数据的分布和趋势。
  2. 代码结构优化:对代码结构进行了优化,将相关的功能模块进行了封装,提高了代码的可读性和可维护性。同时,我们还使用了异常处理机制,对可能出现的异常情况进行了处理,提高了程序的稳定性和可靠性。
  3. 数据库连接优化:优化了数据库连接的方式,使用了连接池来管理数据库连接,提高了数据库连接的效率和资源利用率。同时,我们还对数据库查询语句进行了优化,减少了不必要的查询和数据传输,提高了程序的性能。
  4. 数据缓存优化:引入了数据缓存机制,将经常使用的数据缓存到内存中,减少了对数据库的查询次数,提高了程序的响应速度。同时,我们还使用了定时任务来更新缓存数据,保证了数据的及时性和准确性。

6.2创新设计/代码优化效果图或效果描述

登录页面:

图6-1 登录界面

数据展示页面:

图6-2柱状图

效果描述:通过前端界面改进,用户可以更加方便地进行登录和数据查看操作。数据可视化展示使用户能够更加直观地了解数据的分布和趋势,提高了数据的可读性和可理解性。

代码结构优化效果:通过代码结构优化,提高了代码的可读性和可维护性,减少了代码的冗余和重复。同时,异常处理机制的使用提高了程序的稳定性和可靠性,减少了程序崩溃的可能性。

数据库连接优化效果:通过数据库连接优化,提高了数据库连接的效率和资源利用率,减少了数据库连接的时间和资源消耗。同时,数据库查询语句的优化提高了程序的性能,减少了数据的传输和处理时间。

数据缓存优化效果:通过数据缓存优化,减少了对数据库的查询次数,提高了程序的响应速度。同时,定时任务的使用保证了数据的及时性和准确性,避免了数据的过期和错误。

6.3创新设计/代码优化中的核心代码说明

  1. 前端界面核心代码:

<body>

<div class="login-container">

<h2>登录</h2>

<form method="post" action="/">

<label for="username">用户名:</label>

<input type="text" id="username" name="username" required><br>

<label for="password">密码:</label>

<input type="password" id="password" name="password" required><br>

<input type="submit" value="登录">

</form>

</div>

</body>

<body style="height: 100%; margin: 0">

<div id="main" style="height: 100%"></div>

<script type="text/javascript">

alert("登录成功")

var myChart = echarts.init(document.getElementById('main'));

var option = {

title: {

text: '豆瓣小组数据统计'

},

tooltip: {

trigger: 'axis'

},

legend: {

data: ['回复数', '点赞数']},

xAxis: {

type: 'category',

data: {{ contents|tojson|safe }}},

yAxis: {

type: 'value'

},

series: [

{

name: '回复数',

type: 'bar',

data: {{ replies|tojson|safe }}

},

{

name: '点赞数',

type: 'bar',

data: {{ likes|tojson|safe }}

}

]

};

myChart.setOption(option);

</script>

</body>

  1. 代码优化核心代码:

提取图片URL

img_element = item.find('img')

if img_element:

image_url = img_element['src']

else:

print("没有找到图片元素") # 调试输出

提取附加文本

block_element = item.find('div', class_='block')

if block_element:

additional_text = block_element.text.strip()

else:

print("没有找到附加文本块") # 调试输出

  1. 数据库连接优化核心代码:

MySQL数据库连接配置

db_config = {

'user': 'root',

'password': 'root',

'host': '127.0.0.1',

'database': 'douban_data',

'charset': 'utf8mb4'}

7总结与展望

本次课程设计旨在实现对豆瓣热销数据的爬取、存储、处理与可视化展示。通过该项目的实施,我们取得了以下成果:

在技术方面,熟练掌握了 Python 爬虫技术、数据库设计与管理以及 Web 应用开发等关键技能。通过使用 Flask 框架和 Echarts 库,成功构建了一个功能完备的数据可视化系统,实现了数据的高效展示与分析。

在实践过程中,我们也遇到了一些挑战和问题。例如,在数据采集过程中,需要应对豆瓣网站的反爬虫机制,确保数据的准确性和完整性;在数据库设计方面,需要考虑数据的存储结构和索引优化,以提高数据的查询效率;在系统性能优化方面,需要不断调整和改进代码,以提升系统的响应速度和稳定性。

针对上述问题,我们采取了一系列措施进行解决。通过合理设置请求间隔、使用代理 IP 等方式,成功绕过了豆瓣网站的反爬虫机制;通过优化数据库设计、建立合适的索引等方式,提高了数据的查询效率;通过使用缓存技术、优化算法等方式,提升了系统的响应速度和稳定性。

尽管本系统已经实现了基本的功能,但仍存在一些不足之处,需要进一步改进和完善。未来的工作可以从以下几个方面展开:

在数据采集方面,可以进一步扩展数据源,获取更多类型的数据,以丰富系统的功能和应用场景。同时,可以探索使用更加先进的爬虫技术和工具,提高数据采集的效率和质量。

在数据处理方面,可以进一步深入研究数据挖掘和分析技术,挖掘数据中的潜在价值和规律,为用户提供更加深入和有价值的信息。

在系统性能优化方面,可以继续优化代码结构和算法,提高系统的执行效率和响应速度。同时,可以考虑使用分布式架构和云计算技术,提高系统的可扩展性和容错性。

在用户体验方面,可以进一步改进用户界面设计,提高系统的易用性和交互性。同时,可以增加用户反馈机制,及时了解用户的需求和意见,不断改进和完善系统。

总之,通过该项目的实施,我们不仅提高了自己的技术水平和实践能力,还培养了团队合作精神和解决问题的能力。未来,我们将继续努力,不断完善和优化系统,为用户提供更加优质和便捷的服务。

完整源码;

相关推荐
大G哥3 分钟前
java提高正则处理效率
java·开发语言
指尖上跳动的旋律6 分钟前
shell脚本定义特殊字符导致执行mysql文件错误的问题
数据库·mysql
ROBOT玲玉7 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
VBA633713 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~15 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
一勺菠萝丶17 分钟前
MongoDB 常用操作指南(Docker 环境下)
数据库·mongodb·docker
小_太_阳24 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it25 分钟前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode