原创 Python3用pyinstaller打包程序出現ModuleNotFindError的解決方法

今天打包寫好的程序,編譯、生成的時候並沒有錯誤,但在運行的時候回出現"ModuleNotFindError"錯誤,這個我們可以用下面的方法解決: 以上面的錯誤提示爲例,我們會發現“pkg_resources.py2_warn”找不到,那

原创 Python3.9 解決 ImportError: No system module pywintypes (pywintypes39.dll) 的方法

今天在使用 pywintypes 庫的時候,莫名其妙就出現了 “ImportError: No system module 'pywintypes' (pywintypes39.dll)” 報錯,詳細報錯信息如下: 解決方法如下(項目使用

原创 Python爬蟲——獲取ajax異步加載數據

在我們訪問網頁的時候,經常會看到一種技術,當我們點擊了一個選項卡或者其他的鏈接,網頁數據發生了改變,但是網址卻沒有發生任何變化,那麼這種技術就是ajax異步加載數據,當我們點擊一個鏈接的時候,它只是發送了一個數據包過來,然後只是將這個數據

原创 Python3爬蟲——用BeautifulSoup解析古詩文網

我們之前已經用Xpath分析過了古詩文網,但還是感覺有點麻煩,所以今天來講BeautifulSoup庫,它可以很方便的幫我們抓取網頁的數據,同樣也支持lxml解析器,下面我們來詳細介紹: 安裝BeautifulSoup庫: pip in

原创 Python爬蟲(二)——爬取電影天堂,保存下載地址

首先我們開始要分析一下,下載種子我們需要哪幾步: 獲取所有電影頁的訪問地址 獲取電影頁源碼 提取出下載地址 將下載地址保存 首先第一步,我們來分析一下電影天堂網站的結構,發現他跟我們的古詩文網還是非常類似的,全站靜網結構,不需要登錄,頁面

原创 Python爬蟲——用XPath解析網頁源碼

首先先來介紹下XPath是什麼東西: XPath是一個用路徑表達式來提取XML文檔中節點的工具,我們有很多像有界面的東西都是用xml語言寫的,其中HTML就是xml的一種;下面舉個栗子理解一下: <html> <body> <

原创 Pygame飛機大戰(五)——定義敵機的類,並且創建敵機

同樣的,先來分析下敵機都有哪些屬性,其實三種機型都是類似的,瞭解一個之後,其他的其實都沒有問題的: 主體的圖片和墜毀的圖片 墜毀的音效(大型敵機還有一個出場的音效) 敵機的狀態,被消滅了就需要復活 敵機移動和邊界的判斷 發射子彈(這裏篇幅

原创 Vim常用命令備查

Vim是一款功能非常強大的編輯器,網上也有很多寫Vim的文章,這裏我就不多贅述了,只爲自己查詢使用! 對於編輯器來講,無非就是那麼幾個操作: 增加 a(append) # 在當前光標後面插入字符 A

原创 Python爬蟲(三)——百度圖片下載器

我們之前寫的兩個小項目,都是對文字的處理和存儲,而且沒有與我們的動態交互,寫的代碼是啥就只能爬取啥內容,那麼接下來我們就用百度圖片講解一下圖片的下載及最簡單的鍵入關鍵字搜索內容; 我們還是先分析一下我們每搜索一個內容,它的網址是怎麼變化的

原创 Pygame飛機大戰(六)——完成擊毀效果,並添加生命值

話不多說,直接上代碼分析…… 因爲我們之前在創建己方飛機的時候,沒有對音效和重生的屬性和方法進行定義,所以我們先把這一部分補充完成: class myPlane(pygame.sprite.Sprite): def __init

原创 Python3 語音合成——pyttsx3 從文本到語音

pyttsx3是一款非常簡單的文本到語音的轉換庫,可以脫機工作,支持多種TTS引擎(sapi5、nsss、espeak),通過這個庫可以非常方便的將文字轉換成語音; 安裝pyttsx3: pip install pyttsx3 首先看下

原创 Python爬蟲(一)——爬取古詩文網,初識什麼是爬蟲

首先來說下什麼是爬蟲,按照百度百科的說法是:是一種按照一定規則,自動抓取萬維網信息的程序或者腳本;首先它是程序,需要我們定義好規則,然後程序就會按照定義好的規則抓取網絡上的信息,數據抓取下來了之後,需要我們對這個龐大的數據進行篩選、提取,

原创 Python3爬蟲——關於URL中文轉碼的方法

在我們進行數據傳參訪問的時候,HTTP協議的參數通常以鍵值對的形式出現,多個參數之間用 &分隔,但是如果值是中文或者是其他特殊字符的話,就要對其進行轉碼,不然可能會產生歧義,我們接下來就來看下如何對中文進行轉碼: from urllib

原创 Pygame飛機大戰(七)——計算分數和遊戲結束界面的繪製

我們在前面幾篇已經把基礎的遊戲操控和擊毀等特效已經完成了,現在大體可以玩兒了,但是還有幾部分問題: 雖然可以操控了,但是沒有分數的體現 雖然定義了三條命,但是血扣完了還能玩 所以加下來就要把以上的問題解決,首先先把分數給他加上去: #

原创 Python進階篇——lambda、map、filter、reduce高級函數的使用

OK,我們今天來簡單講一下Python中的幾個高級函數,爲什麼說這是高級函數呢?因爲它可以極大的減少我們的代碼量,讓我們的代碼看起來更加的清爽,提高我們的開發速度;   用lambda創建匿名函數 在理解匿名函數之前,我們先來回顧下我們之