每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

来源:https://www.cnblogs.com/python0921/archive/2020/06/02/13034024.html
-Advertisement-
Play Games

前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 歡迎點擊右上角關註小編,除了分享技術文章之外還有很多福利,私信學習資料可以領取包括不限於Python實戰演練、PDF電子文檔、面試集錦、學習資料等。 小編閑暇時喜歡看熱點,會 ...


前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

歡迎點擊右上角關註小編,除了分享技術文章之外還有很多福利,私信學習資料可以領取包括不限於Python實戰演練、PDF電子文檔、面試集錦、學習資料等。

小編閑暇時喜歡看熱點,會收集微博,微信搜一搜上的熱點,瞭解一下最近的娛樂八卦新聞。但是在瀏覽微博的時候,想把微博熱點給複製下來,但是卻怎麼也複製不了,滑鼠一放上去就變成了“小手”的形狀。

每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

 

還有微信上的搜一搜,微信熱點,文字都不好複製下來。腫麽辦~~

Python號稱無所不能,既然是玩Python的呢,為啥不利用Python給自己打造一款截屏的文字識別工具,用來提升自己的效率。

整體的思路

小編花了幾個小時的時間,查閱了相關的資料,完成了這個小demo的設計,拿來與大家一同分享。我們要實現的目標就是,通過快捷鍵進行截屏之後,將識別的文字信息輸出到屏幕之上或者是保存到本地的文件中。

先來說說這個demo的實現流程,如下圖所示:

每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

 

大概的步驟:

第一步,我們利用快捷鍵進行截屏

第二步,然後將截屏的圖片進行保存

第三步,我們利用百度文字識別API進行文字的識別,最後我們將識別出來的文字進行保存。

圖像的截取和保存

下麵我們首先來完成第一和第二步,程式如下圖所示:

每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

 

這裡小編直接採用了微信的截屏快捷鍵,大家只需要在電腦上登陸微信電腦版,然後點擊“alt+A”即可進行截屏,為了更加方便大家理解,小編這裡製作了一張流程圖,如下所示,大家先理解思路:

每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

 

然後我再給大家細細的一行一行講解代碼原理:

  • 當我們按下“alt+A"後,同時激活了微信截屏和程式繼續執行;
  • 由於程式要從剪貼板中拿到圖片,而剪貼板中的圖片必須等待微信截屏中獲取;
  • 接著程式必須等待5秒,讓微信完成截屏並將圖片放入到剪貼板中去,當完成這一步之後,程式才能繼續向下執行;
  • 此時程式中最後兩句,我們使用PIL庫中的ImageGrab文件內的grabclipboard函數來獲取剪切板當中的圖片,並將其保存到本地的圖片文件當中。

圖像的識別和文字提取

上面的程式完成了我們的截屏和保存,下麵的程式則實現了第三步和第四步的處理。就是把圖像裡面的文字通過AI技術提取,然後保存。

每天的微博熱點保存不了怎麼辦?python幫你實現微博熱點下載

 

上述的程式中,我們直接採用百度文字識別的API介面即可(如何使用百度AI介面這個前面的歷史文章提到多次)。

  • 程式以二進位的形式讀入了圖片,並將其以base64進行編碼;
  • 然後我們構造了介面的請url,其中self.access_token是介面的訪問令牌,我們通過post的方式來提交參數信息;
  • 然後獲取介面返回給我們的結果,如果結果正確返回的話,那我們就將結果寫入到本地的指定txt文檔內;
  • 否則程式就會輸出“something wrong”並結束。

最後我們來展示一下程式運行的結果,提取出微博熱點吧。

 


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

-Advertisement-
Play Games
更多相關文章
  • 在c/c++中,為瞭解決一些頻繁調用的小函數大量消耗棧空間(棧記憶體)的問題,特別的引入了inline修飾符,表示為內聯函數。 棧空間就是指放置程式的局部數據(也就是函數內數據)的記憶體空間。 在系統下,棧空間是有限的,假如頻繁大量的使用就會造成因棧空間不足而導致程式出錯的問題,如,函數的死迴圈遞歸調用 ...
  • 類規範:包括類聲明以及類方法定義 類聲明提供類的藍圖 方法定義提供細節 常見不通用的約定:類名首字母大寫 類介面: 介面由編寫類的人提供的方法組成。介面讓程式員能夠編寫與類對象交互的代碼,從而讓程式能夠使用類對象。 要使用某個類,必須瞭解其公共介面;要編寫類,必須創建其公共介面。 通常,C++程式員 ...
  • @(目錄) 我的經歷 關註我的朋友都知道,關註兩個字劃重點,要考! 我最近一直在寫Spring的文章,而且僅僅是Spring FrameWork的文章 ,從最開始的官網入門到現在源碼的深度分析。主要就是三個系列 官網入門系列,Spring官網讀書筆記,這一系列的文章是入門Spring的不二之選,也是 ...
  • 最近在學習數據結構,特此記錄一下,方便以後查閱. 1 //定義一個類來管理我們的英雄 也就是鏈表 2 class SingleLinkedList{ 3 //先初始化一個頭節點,頭節點不能動,用於尋找鏈表的頭 4 private HeroNode head = new HeroNode(0,""," ...
  • 1. 用於語句覆蓋的基路徑法 基路徑法保證設計出的測試用例,使程式的每一個可執行語句至少執行一次,即實現語句覆蓋。基路徑法是理論與應用脫節的典型,基本上沒有應用價值,讀者稍作瞭解即可,不必理解和掌握。 基路徑法步驟如下: 1)畫出程式的控制流圖 控制流圖是描述程式控制流的一種圖示方法,主要由結點和邊 ...
  • 本文源碼:GitHub·點這裡 || GitEE·點這裡 一、數據可視化 1、基礎概念 數據可視化,是關於數據視覺表現形式的科學技術研究。其中,這種數據的視覺表現形式被定義為,一種以某種概要形式抽取出來的信息,包括相應信息單位的各種屬性和變數。 如果說的實際貼切的話:系統開發中常見的數據報表統計,將 ...
  • 老孟導讀:CustomPaint可以稱之為動畫鼻祖,它可以實現任何酷炫的動畫和效果。CustomPaint本身沒有動畫屬性,僅僅是繪製屬性,一般情況下,CustomPaint會和動畫控制配合使用,達到理想的效果。 基本用法 CustomPaint的用法非常簡單,如下: CustomPaint( pa ...
  • HashMap是我們在編程中最常用的map,也是面試中經常考的問題,所以打算深入研究一下hashmap的源碼,並且對比7和8中的不同。一、hashmap的數據結構 hashmap的數據結構是哈希表,核心是基於哈希值的桶,而哈希桶的底層實現其實是數組,數組這種數據結構查找的時間複雜度是O(1),所以哈 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...