最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python實現(xiàn)的百度音樂下載器python pyqt改進版(附代碼)

 更新時間:2019年08月05日 10:05:05   作者:風的姿態(tài)  
這篇文章主要介紹了基于python實現(xiàn)的百度音樂下載器python pyqt改進版(附代碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下

前言

之前寫過一個用python實現(xiàn)的百度新歌榜、熱歌榜下載器的文章,實現(xiàn)了百度新歌、熱門歌曲的爬取與下載。但那個采用的是單線程,網(wǎng)絡(luò)狀況一般的情況下,掃描前100首歌的時間大概得到40來秒。而且用Pyqt做的界面,在下載的過程中進行窗口操作,會出現(xiàn)UI阻塞的現(xiàn)象。

前兩天有時間調(diào)整了一下,做了幾方面的改進:

1.修改了UI界面阻塞的問題,下載的過程中可以進行其它的UI操作;

2.爬蟲程序采用一個主線程,8個子線程的方式快速爬取,網(wǎng)絡(luò)狀況一致的情況下,將掃描100首歌曲的時間提高到了8、9秒左右;(本地下載速度大概300K左右)

3.解析網(wǎng)頁的方法由之前的HtmlParser變成了現(xiàn)在的BeautifulSoup;

要運行此功能需要安裝PyQt、BeautifulSoup。運行之前需要在settings.py文件中配置百度賬號和密碼。

username = "your baidu acount" #配置你的百度賬號 
password = "your baidu password" #配置你的百度密碼 

配置好賬戶和密碼后,直接雙擊spiderMan.py文件運行即可。

運行流程

1.首先由spiderMan.py進入主程序,開始運行。

2.主程序?qū)⒖刂茩?quán)交給dispatcher調(diào)度程序,調(diào)度程序首先登錄百度。

3.如果登錄成功,調(diào)度程序開啟8個子線程,由這8個子線程抓取百度新歌榜或百度熱歌榜的歌曲鏈接,分析鏈接,獲取真正的下載地址,并將下載地址、歌曲名稱、歌手信息寫入一個文本文件。

4.當子線程執(zhí)行完畢,主程序讀取上一步生成的文本文件,加載UI窗體。

整個過程如下圖:

正常運行后的效果如下圖:

問題:

在github上tigerstudent提出了兩個問題:

1.文件spiderMan.py中獲取當前腳本所在的目錄 root = os.path.dirname(__file__)+"/" 獲取到的目錄為空,建議應(yīng)該用os.getcwd()。

這里我實際想要的是當前腳本所在的絕對路徑,正確的腳本應(yīng)該是這樣的:os.path.abspath(os.path.dirname(__file__))+"/"

那么為什么os.path.dirname(__file__)os.getcwd()為什么都不行呢?os.path.dirname(__file__)是當前腳本相對于腳本的執(zhí)行目錄的相對路徑,而os.getcwd()是腳本實際執(zhí)行的目錄。新建test.py文件,代碼如下:

import os 
print("os.path.dirname(__file__):"+os.path.dirname(__file__)) 
print("os.getcwd():"+os.getcwd()) 

首先定位到計算機根目錄/,執(zhí)行如下命令:python /home/fengzheng/vimPython/BaiduMusicSpider-master/test.py,輸出結(jié)果:

os.path.dirname(__file__):/home/fengzheng/vimPython/BaiduMusicSpider-master 
os.getcwd(): 

 定位到/home/fengzheng/vimPython/,執(zhí)行如下命令:python BaiduMusicSpider-master/test.py,輸出結(jié)果:

os.path.dirname(__file__):BaiduMusicSpider-master 
os.getcwd():/home/fengzheng/vimPython 

這樣說吧,拋開執(zhí)行上的參數(shù)值,在windows下把命令理解為單擊鼠標直接運行的操作,os.path.dirname(__file__)就是所執(zhí)行的腳本文件對于當前所處的目錄的相對路徑,而os.getcwd()就是當前執(zhí)行這個腳本所在的路徑,即在哪個位置執(zhí)行就是那個位置的路徑。

2.有一些路徑字符串中用的是”\”,正確的寫法應(yīng)該是”/”,因為當時是在windows上寫的,沒太注意。

github下載地址如下:下載地址

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python通用驗證碼識別OCR庫ddddocr的安裝使用教程

    Python通用驗證碼識別OCR庫ddddocr的安裝使用教程

    dddd_ocr是一個用于識別驗證碼的開源庫,又名帶帶弟弟ocr,下面這篇文章主要給大家介紹了關(guān)于Python通用驗證碼識別OCR庫ddddocr的安裝使用教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Python爬蟲谷歌Chrome F12抓包過程原理解析

    Python爬蟲谷歌Chrome F12抓包過程原理解析

    這篇文章主要介紹了Python爬蟲谷歌Chrome F12抓包過程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-06-06
  • Python實現(xiàn)簡單的圖書管理系統(tǒng)

    Python實現(xiàn)簡單的圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現(xiàn)簡單的圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 分享unittest單元測試框架中幾種常用的用例加載方法

    分享unittest單元測試框架中幾種常用的用例加載方法

    這篇文章主要介紹了unittest單元測試框架中常用的幾種用例加載方法,幫助大家更好的理解和使用python的unittest測試模塊,感興趣的朋友可以了解下
    2020-12-12
  • python3 使用OpenCV計算滑塊拼圖驗證碼缺口位置(場景示例)

    python3 使用OpenCV計算滑塊拼圖驗證碼缺口位置(場景示例)

    這篇文章主要介紹了python3 使用OpenCV計算滑塊拼圖驗證碼缺口位置,本文通過場景示例給大家詳細介紹,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Python接口自動化淺析pymysql數(shù)據(jù)庫操作流程

    Python接口自動化淺析pymysql數(shù)據(jù)庫操作流程

    本文主要介紹pymysql安裝、操作流程、語法基礎(chǔ)及封裝操作數(shù)據(jù)庫類,需要的朋友可以參考下,希望能對大家有所幫助,每日提升一點點,歡迎大家多多交流討論
    2021-08-08
  • 關(guān)于Pycharm無法debug問題的總結(jié)

    關(guān)于Pycharm無法debug問題的總結(jié)

    今天小編就為大家分享一篇關(guān)于Pycharm無法debug問題的總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行示例

    Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行示例

    這篇文章主要介紹了Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行功能,涉及Python針對文件讀取及字符串遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Python reduce函數(shù)作用及實例解析

    Python reduce函數(shù)作用及實例解析

    這篇文章主要介紹了Python reduce函數(shù)作用及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-05-05
  • 詳解Python中三元運算符的使用

    詳解Python中三元運算符的使用

    條件表達式(有時稱為“三元運算符”)在所有Python操作中優(yōu)先級最低,三元運算符根據(jù)條件為真或假來計算某些東西,下面就跟隨小編一起來看看Python中三元運算符的具體使用吧
    2023-09-09

最新評論

新野县| 镇康县| 阜南县| 凤山县| 南康市| 子洲县| 石首市| 台北市| 珲春市| 堆龙德庆县| 华亭县| 连城县| 子长县| 塔城市| 疏勒县| 石嘴山市| 铁岭市| 漳浦县| 罗平县| 班戈县| 富蕴县| 永胜县| 东方市| 太白县| 黎平县| 芒康县| 南汇区| 冀州市| 天全县| 新民市| 皋兰县| 南召县| 宜君县| 淮南市| 醴陵市| 和林格尔县| 黎平县| 黄大仙区| 崇义县| 扶绥县| 绥德县|