Python獲取手機4K壁紙,一個入門練手的案例

来源:https://www.cnblogs.com/qshhl/archive/2022/10/24/16822491.html
-Advertisement-
Play Games

前言 一. 數據來源分析 明確需求, 我們採集網上什麼數據內容, 在什麼地方 分析我們想要高清原圖在什麼地方有 瀏覽器自帶工具: 開發者工具 F12 滑鼠右鍵點擊 插件 選擇 network 刷新網頁 點擊選擇 Img 可以直接找到圖片地址 通過搜索分析, 可以知道, 我們想要圖片原圖url 就在 ...


前言

一. 數據來源分析

  1. 明確需求, 我們採集網上什麼數據內容, 在什麼地方
  • 分析我們想要高清原圖在什麼地方有
  1. 瀏覽器自帶工具: 開發者工具 F12
  • 滑鼠右鍵點擊 插件 選擇 network 刷新網頁
  • 點擊選擇 Img 可以直接找到圖片地址
  • 通過搜索分析, 可以知道, 我們想要圖片原圖url 就在 圖片詳情頁網頁源代碼裡面

二. 代碼大概實現步驟

  1. 發送請求, 模擬瀏覽器對於 圖片目錄頁面 發送請求
  2. 獲取數據, 獲取伺服器返迴響應數據
  3. 解析數據, 提取我們想要數據內容
  4. 發送請求, 模擬瀏覽器對於 圖片詳情頁url 發送請求
  5. 獲取數據, 獲取伺服器返迴響應數據
  6. 解析數據, 提取我們想要數據內容
  7. 保存數據, 把圖片保存文本文件夾

對於本篇文章有疑問的同學可以加【資料白嫖、解答交流群:753182387】

代碼實現

導入模塊

import requests
import re

請求數據

url = f'https://m.bcoderss.com/tag/漫畫/page/1/'
# 模擬瀏覽器 --> headers 請求頭
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 發送請求
response = requests.get(url=url, headers=headers)

<Response [200]> 表示請求成功

解析數據, 提取我們想要數據內容

提取詳情頁url地址

img_info = re.findall('<li><a target="_blank" href="(.*?)" alt="(.*?)" title=".*?">', response.text)

for迴圈遍歷 把列表裡面元素 一個一個提取出來

for img, title in img_info:
    html_data = requests.get(url=img, headers=headers).text
    # 提取原圖url地址
    img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">', html_data)[0]

獲取二進位數據

img_content = requests.get(url=img_url).content

替換特殊字元

img_title = title + img_url.split('/')[-1]
img_title = re.sub(r'[\/:*?:<>|]', '_', img_title)

保存數據

with opythonpen('img漫畫\\' + img_title, mode='wb') as f:
    f.write(img_content)
print(img_url, img_title)

運行代碼



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 循序漸進地介紹了電腦方向的大部分基礎知識,包括計算設備的工作原理、諸多實用技能(包括網頁開發等),適合初學者構建對電腦科學的全面認知。 ...
  • python版本:python 3.9 mutagen版本:1.46.0 mutagen是一個處理音頻元數據的python模塊,支持多種音頻格式,是一個純粹的python庫,僅依賴python標準庫,可在Python 3.7及以上版本運行,支持Linux、Windows 和 macOS系統。 git ...
  • 正則表達式03 5.6正則表達式三個常用類 java.util.regex 包主要包括以下三個類:Pattern類、Matcher類和PatternSyntaxException類 Pattern類 Pattern對象是一個正則表達式對象。Pattern類沒有公共構造方法,要創建一個Pattern對 ...
  • Alwaysblock1 組合邏輯always塊的使用,註意這裡的wire和reg綜合出來的結果是一樣的,這裡只是verilog語法導致二者聲明不一樣。 // synthesis verilog_input_version verilog_2001 module top_module( input ...
  • 目錄 一.OpenGL 反色 1.IOS Object-C 版本 2.Windows OpenGL ES 版本 3.Windows OpenGL 版本 二.OpenGL 反色 GLSL Shader 三.猜你喜歡 零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> Op ...
  • 編程教材 《R語言實戰·第2版》Robert I. Kabacoff 課程教材《商務與經濟統計·原書第13版》 (安德森) P143、案例 Go Bananas #1 生產中斷的概率 c <- pbinom(4, 25, .08) # 4 是預設 P(x <= 4) answer1 <- 1 - c ...
  • Java 一直是一種面向對象的編程語言。這意味著 Java 編程中的一切都圍繞著對象(為了簡單起見,除了一些基本類型)。我們不僅有 Java 中的函數,它們還是 Class 的一部分,我們需要使用 class/object 來調用任何函數。 函數式介面 當我們研究一些其他的編程語言時,比如C++,J ...
  • 在筆者前面有一篇文章`《驅動開發:斷鏈隱藏驅動程式自身》`通過摘除驅動的鏈表實現了斷鏈隱藏自身的目的,但此方法恢復時會觸發PG會藍屏,偶然間在網上找到了一個作者介紹的一種方法,覺得有必要詳細分析一下他是如何實現的進程隱藏的,總體來說作者的思路是最終尋找到`MiProcessLoaderEntry`的... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...