python腳本編程:使用BeautifulSoup爬蟲庫獲取熱門單機游戲排行榜

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數據庫的高效查詢不僅依賴于合理的表結構和索引設計,還需要掌握高級查詢技巧和性能優化方法。 數據表與數據表之間關系三種:實體之間關系 多對多…