BeautifulSoup是一个便捷的解析html页面元素的python库,此处用来写一个简单的爬虫批量抓取国内游戏资讯网站的近期热门单机游戏排行榜。

网页来源如下所示
请添加图片描述

代码

from bs4 import BeautifulSoup
import requests# get web page
web_url = "https://www.3dmgame.com/jqremphb.html"
response = requests.get(web_url)if response.status_code == 200:print("web page content: ", response.text)# parse with bs4
soup = BeautifulSoup(response.text, "lxml")
print(soup.prettify())# fetch game rank list
divs_with_class = soup.find_all("div", class_="phlist")
print(divs_with_class)# data download, purge, output
game_rank_list = []
i = 0
for item in divs_with_class:i += 1print("--- game item ", i)game = {"name": "","img": "","developer": "","publisher": "","date": "","platform": "","language": ""}# game name name = item.div.a.string# print("name: ", name)game["name"] = name# game pictureimg_url = item.img["data-original"]img_suffix = img_url.split('.')[-1]# print("img_url: ", img_url)# print("img_suffix: ", img_suffix)img = requests.get(img_url)file_path = str(i) + "." + img_suffix # relative file pathgame["img"] = file_pathwith open(file_path, 'wb') as file:file.write(img.content)# game informationlis = item.find_all("li")j = 0for li in lis:j += 1# print("li value: ", li.string)if j == 1:game["developer"] = li.stringelif j == 2:game["publisher"] = li.stringelif j == 3:game["date"] = li.stringelif j == 4:game["platform"] = li.stringelif j == 5:game["language"] = li.stringprint(game)game_rank_list.append(game)print("fetch game data finished, total count: ", len(game_rank_list))

运行结果

网页解析数据:

--- game item  1
{'name': '剑星', 'img': '1.jpg', 'developer': '开发:Shift up', 'publisher': '发行:索尼', 'date': '发售:2025-06-12', 'platform': '类型:动作游戏', 'language': '平台:PC PS5'}
--- game item  2
{'name': '刺客信条:影', 'img': '2.jpg', 'developer': '开发:育碧', 'publisher': '发行:育碧', 'date': '发售:2025-03-20', 'platform': '类型:动作游戏', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  3
{'name': '艾尔登法环:黑夜君临', 'img': '3.jpg', 'developer': '开发:FromSoftware', 'publisher': '发行:万代南梦宫', 'date': '发售:2025-05-30', 'platform': '类型:动作游戏', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  4
{'name': '多重人生', 'img': '4.jpg', 'developer': '开发:11 bit studios', 'publisher': '发行:11 bit studios', 'date': '发售:2025-06-13', 'platform': '类型:冒险游戏', 'language': '平台:PC'}
--- game item  5
{'name': '死亡搁浅2', 'img': '5.jpg', 'developer': '开发:小岛工作室', 'publisher': '发行:索尼,505 Games', 'date': '发售:2025-06-26', 'platform': '类型:角色扮演', 'language': '平台:PS5'}
--- game item  6
{'name': '人渣', 'img': '6.jpg', 'developer': '开发:Gamepires,Croteam', 'publisher': '发行:Devolver Digital,Croteam Publishing', 'date': '发售:2025-06-17', 'platform': '类型:动作游戏', 'language': '平台:PC PS4 XBOXONE'}
--- game item  7
{'name': '怪物猎人:荒野', 'img': '7.jpg', 'developer': '开发:卡普空', 'publisher': '发行:卡普空', 'date': '发售:2025-02-28', 'platform': '类型:动作游戏', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  8
{'name': '光与影:33号远征队', 'img': '8.jpg', 'developer': '开发:Sandfall Interactive', 'publisher': '发行:Kepler Interactive', 'date': '发售:2025-04-24', 'platform': '类型:角色扮演', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  9
{'name': '真三国无双:起源', 'img': '9.jpg', 'developer': '开发:KOEI TECMO GAMES CO., LTD.', 'publisher': '发行:KOEI TECMO GAMES CO., LTD.', 'date': '发售:2025-01-17', 'platform': '类型:动作游戏', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  10
{'name': '沙丘:觉醒', 'img': '10.jpg', 'developer': '开发:Funcom', 'publisher': '发行:Funcom', 'date': '发售:2025-06-10', 'platform': '类型:角色扮演', 'language': '平台:PC'}
--- game item  11
{'name': '符文工房 龙之天地', 'img': '11.jpg', 'developer': '开发:Marvelous Inc.', 'publisher': '发行:XSEED Games, Marvelous USA, Inc., Marvelous', 'date': '发售:2025-06-05', 'platform': '类型:角色扮演', 'language': '平台:PC'}
--- game item  12
{'name': '心之眼', 'img': '12.jpg', 'developer': '开发: Build A Rocket Boy', 'publisher': '发行: IO Interactive A/S', 'date': '发售:2025-06-11', 'platform': '类型:冒险游戏', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  13
{'name': '幻想生活i 转圈圈的龙和偷取时间的少女', 'img': '13.jpg', 'developer': '开发:LEVEL5 Inc.', 'publisher': '发行:LEVEL5 Inc.', 'date': '发售:2025-05-21', 'platform': '类型:角色扮演', 'language': '平台:PC'}
--- game item  14
{'name': '双影奇境', 'img': '14.jpg', 'developer': '开发:Hazelight', 'publisher': '发行:Electronic Arts', 'date': '发售:2025-03-07', 'platform': '类型:动作游戏', 'language': '平台:PC Switch PS5 XboxSeriesX'}
--- game item  15
{'name': '天国:拯救2', 'img': '15.jpg', 'developer': '开发:Warhorse Studios', 'publisher': '发行:Deep Silver', 'date': '发售:2025-02-04', 'platform': '类型:角色扮演', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  16
{'name': '猛将三国', 'img': '16.jpg', 'developer': '开发:NanBei Studio', 'publisher': '发行:NanBei Studio', 'date': '发售:2025-06-17', 'platform': '类型:策略游戏', 'language': '平台:PC'}
--- game item  17
{'name': '美女,请别影响我成仙', 'img': '17.jpg', 'developer': '开发:蒸汽满满工作室', 'publisher': '发行:一相逢互动娱乐', 'date': '发售:2025-06-20', 'platform': '类型:角色扮演', 'language': '平台:PC'}
--- game item  18
{'name': '漫威蜘蛛侠2', 'img': '18.png', 'developer': '开发:Insomniac Games,Nixxes Software', 'publisher': '发行:索尼,PlayStation Publishing LLC', 'date': '发售:2025-01-31', 'platform': '类型:动作游戏', 'language': '平台:PC PS5'}
--- game item  19
{'name': '断箭', 'img': '19.jpg', 'developer': '开发:Steel Balalaika', 'publisher': '发行:Slitherine Ltd.', 'date': '发售:2025-06-20', 'platform': '类型:策略游戏', 'language': '平台:PC'}
--- game item  20
{'name': '解限机', 'img': '20.jpg', 'developer': '开发:Amazing Seasun Games', 'publisher': '发行:Amazing Seasun Games', 'date': '发售:2025-07-02', 'platform': '类型:动作游戏', 'language': '平台:PC XboxSeriesX'}
--- game item  21
{'name': '文明7', 'img': '21.jpg', 'developer': '开发:Firaxis Games', 'publisher': '发行:2K Games', 'date': '发售:2025-02-11', 'platform': '类型:策略游戏', 'language': '平台:PC'}
--- game item  22
{'name': '三角符文', 'img': '22.jpg', 'developer': '开发:tobyfox', 'publisher': '发行:tobyfox', 'date': '发售:2025-06-04', 'platform': '类型:角色扮演', 'language': '平台:PC Switch'}
--- game item  23
{'name': '最后生还者2重制版', 'img': '23.jpg', 'developer': '开发:Naughty Dog,Iron Galaxy Studios,Nixxes Software', 'publisher': '发行:PlayStation Publishing LLC', 'date': '发售:2025-04-04', 'platform': '类型:动作游戏', 'language': '平台:PC PS5'}
--- game item  24
{'name': '最终幻想7:重生', 'img': '24.jpg', 'developer': '开发:史克威尔艾尼克斯', 'publisher': '发行:史克威尔艾尼克斯', 'date': '发售:2025-01-23', 'platform': '类型:角色扮演', 'language': '平台:PC PS5'}
--- game item  25
{'name': '开球!REMATCH', 'img': '25.jpg', 'developer': '开发:Sloclap', 'publisher': '发行:Sloclap,Kepler Interactive', 'date': '发售:2025-06-19', 'platform': '类型:体育运动', 'language': '平台:PC'}
--- game item  26
{'name': '英雄立志传:三国志', 'img': '26.jpg', 'developer': '开发:Free Wing', 'publisher': '发行:Free Wing', 'date': '发售:2025-03-26', 'platform': '类型:角色扮演', 'language': '平台:PC'}
--- game item  27
{'name': '马里奥赛车:世界', 'img': '27.png', 'developer': '开发:任天堂', 'publisher': '发行:任天堂', 'date': '发售:2025-06-05', 'platform': '类型:赛车游戏', 'language': '平台:Switch'}
--- game item  28
{'name': '上古卷轴4:湮灭重制版', 'img': '28.jpg', 'developer': '开发:Bethesda Softworks', 'publisher': '发行:Bethesda Softworks', 'date': '发售:2025-04-22', 'platform': '类型:角色扮演', 'language': '平台:PC PS5 XboxSeriesX'}
--- game item  29
{'name': '毁灭战士:黑暗时代', 'img': '29.jpg', 'developer': '开发:id Software ', 'publisher': '发行:Bethesda Softworks / Ubi Soft Entertainment', 'date': '发售:2025-05-15', 'platform': '类型:射击游戏', 'language': '平台:PC'}
--- game item  30
{'name': '鬼武者2复刻版', 'img': '30.jpg', 'developer': '开发:CAPCOM Co., Ltd.', 'publisher': '发行:CAPCOM Co., Ltd.', 'date': '发售:2025-05-23', 'platform': '类型:动作游戏', 'language': '平台:PC Switch PS4 XBOXONE'}
fetch game data finished, total count:  30

游戏封面下载图:
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88086.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88086.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/88086.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#配置全面详解:从传统方式到现代配置系统

C#配置全面详解:从传统方式到现代配置系统 在软件开发中,配置是指应用程序运行时可调整的参数集合,如数据库连接字符串、API 地址、日志级别等。将这些参数从代码中分离出来,便于在不修改代码的情况下调整应用行为。C# 提供了多种…

数据中台架构解析:湖仓一体的实战设计

目录 一、数据中台与湖仓一体架构是什么 1. 数据中台 2. 湖仓一体架构 3. 湖仓一体在数据中台里的价值 二、湖仓一体架构的核心部件 1. 数据湖 2. 数据仓库 3. 数据集成工具 4. 数据分析与处理引擎 三、湖仓一体架构实战设计 1. 需求分析与规划 2. 数据湖建设 3. …

SQL Server表分区技术详解

表分区概述 表分区是将大型数据库表物理分割为多个较小单元的技术,逻辑上仍表现为单一实体。该技术通过水平分割数据显著提升查询性能,尤其针对TB级数据表可降低90%的响应时间。典型应用场景包含订单历史表、日志记录表等具有明显时间特征的业务数据,以及需要定期归档的审计…

WHIP(WebRTC HTTP Ingestion Protocol)详解

WHIP(WebRTC HTTP Ingestion Protocol)详解 WHIP(WebRTC HTTP Ingestion Protocol)是一种基于 HTTP 的协议,用于将 WebRTC 媒体流推送到媒体服务器(如 SRS、Janus、LiveKit)。它是为简化 WebRT…

图像噪点消除:用 OpenCV 实现多种滤波方法

在图像处理中,噪点是一个常见的问题。它可能是由于图像采集设备的缺陷、传输过程中的干扰,或者是光照条件不佳引起的。噪点会影响图像的质量和后续处理的效果,因此消除噪点是图像预处理的重要步骤之一。本文将介绍如何使用 OpenCV 实现几种常…

AI的Prompt提示词:英文写好还是中文好?

在与AI人大模型交互时,Prompt(提示词)的质量直接决定了输出的精准度和有效性。一个常见的问题是:究竟是用英文写Prompt好,还是用中文写更好?这并非一个简单的二元选择,而是涉及到语言模型的底层逻辑、表达的精确性以及个人使用习惯的综合考量。 英文Prompt的优势 模型训…

react的条件渲染【简约风5min】

const flag1true; console.log(flag1&&hello); console.log(flag1||hello); const flag20; console.log(flag2&&hello); console.log(flag2||hello); // &&运算符,如果第一个条件为假,则返回第一个条件,否则返回第二…

【RK3568+PG2L50H开发板实验例程】FPGA部分 | 紫光同创 IP core 的使用及添加

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)1.实验简介实验目的:了解 PDS 软件如何安装 IP、使用 IP 以及查看 IP 手册实验环境:Window11 PD…

thinkphp微信小程序一键获取手机号登陆(解密数据)

微信小程序获取手机号登录的步骤相对较为简单,主要分为几个部分: 1.用户授权获取手机号: 微信小程序通过调用 wx.getPhoneNumber API 获取用户授权后,获取手机号。 2.前端获取用户的手机号: 用户在小程序中点击获取手机号时,系统会弹出授权框,用户同意后,你可以通过 …

数据库设计精要:完整性和范式理论

文章目录数据的完整性实体的完整性主键域完整性参照完整性外键多表设计/多表理论一对一和一对多多对多数据库的设计范式第一范式:原子性第二范式:唯一性第三范式:不冗余性数据的完整性 实体的完整性 加主键,保证一个表中每一条数…

智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)

🎈系统亮点:websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法;一.系统开发工具与环境搭建1.系统设计开发工具后端使用Java编程语言的Spring boot框架项目架构:B/S架构运行环境:win10/win11、jdk17小程…

部署NextCloud AIO + Frp + nginx-proxy-manager内网穿透私有云服务

网络拓扑 假设已有域名为nextcloud.yourhost.com 用户通过域名https访问 -> Nginx -> frps -> frpc -> NextCloud 其中Nginx和frps安装在具有公网IP的服务器上,frpc和NextCloud安装在内网服务器中。 Nginx配置 通过docker安装nginx-proxy-manager 外…

【源力觉醒 创作者计划】文心开源大模型ERNIE-4.5-0.3B-Paddle私有化部署保姆级教程及技术架构探索

一起来轻松玩转文心大模型吧👉一文心大模型免费下载地址: https://ai.gitcode.com/theme/1939325484087291906 前言 2025年6月30日,百度正式开源文心大模型4.5系列(ERNIE 4.5),涵盖10款不同参数规模的模型&#xff0…

大模型面试:如何解决幻觉问题

在大模型面试中回答“如何解决幻觉”问题时,需要展现你对问题本质的理解、技术方案的掌握以及工程实践的洞察。以下是一个结构化的回答框架和关键点,供你参考:回答框架:问题理解 -> 解决方案 -> 总结 1. 明确问题&#xff0…

matlab实现五自由度机械臂阻抗控制下的力跟踪

五自由度机械臂阻抗控制下的力跟踪,可以实现对力的跟踪反馈,基于MATLAB的机器人工具箱 eyebot.m , 767 zuakang_wailiraodong.m , 2568 colormp.mat , 682

excel日志表介绍

在Excel中制作“日志表事物”(可理解为记录事务的日志表格),通常用于系统性追踪事件、任务、操作或数据变化。以下从表格设计、核心要素、制作步骤、函数应用及场景案例等方面详细说明,帮助你高效创建和使用事务日志表。 一、日志…

汽车信息安全 -- SHE密钥更新小细节

之前我们把SHE密钥更新流程做了梳理,汽车信息安全 -- SHE 密钥更新流程 但在实际做SHE Emulation的时候还是发现了问题,例如如果想更新SHE Key ID等于30,会如何影响M1-M5的值呢?。 今天就聊聊关于几家对于SHE Key的管理。 1. N…

Spring Boot配置优先级完全指南:实战解析覆盖规则

一、结论Spring Boot 中,位置越靠后优先级越高,外部配置压倒内部配置,命令行参数拥有最高优先权。案例: 在一次生产事故中,某团队通过 application-prod.properties 将服务端口设为 9000,但某运维人员在启动…

嵌入式数据库sqlite测试程序

继上篇对嵌入式数据库sqlite的移植和注意项,以及使用命令行测试之后,本篇对其进行了更进一步的程序测试,以备近期在项目中使用。测试程序及说明如下:/**************** 相关函数说明 ******************/ /* (1)sqlite3_open的函…

【学习篇】SQL复杂查询学习

要求:能对千万行级别的大表优化读写效率。 难点:如何创建千万行级别的大表 MySQL数据库的高效查询不仅依赖于合理的表结构和索引设计,还需要掌握高级查询技巧和性能优化方法。 数据表与数据表之间关系三种:实体之间关系 多对多…