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

基于python實現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼)

 更新時間:2019年08月05日 09:40:58   作者:風(fēng)的姿態(tài)  
這篇文章主要介紹了基于python實現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前言

首先聲明,本工具僅僅為學(xué)習(xí)之用,不涉及版權(quán)問題,因為百度音樂里面的歌曲本身是可以下載的,而且現(xiàn)在百度也提供了”百度音樂播放器”,可以通過這個工具進(jìn)行批量下載。

我當(dāng)時做這個工具的時候,百度還沒有提供”百度音樂播放器”,而我又想批量下載,所以做了這樣的一個下載工具。當(dāng)然,主要還是為了學(xué)習(xí)。

工具采用Python2.7.3+PyQt開發(fā)。

功能:

1.集中展示百度新歌榜或熱歌榜可下載的歌單。

2.支持單個、多個歌曲的下載。

3.可復(fù)制歌單中所有的鏈接內(nèi)容,方便在迅雷等下載工具中創(chuàng)建下載組。

缺陷:

目前采用單線程,效率不高,UI界面容易假死。

本工具運行流程:

1.模擬用戶登錄百度。

2.若登錄成功,采集并解析頁面內(nèi)容,加載歌單列表。

3.用戶點擊下載按鈕或者批量下載按鈕后,下載歌曲。

使用方法:

1.在配置文件setting.py的最后,配置可登錄百度的賬號和密碼,及百度熱歌榜或新歌榜的URL.

username = "your baidu acount"  #配置你的百度賬號 
password = "your baidu password" #配置你的百度密碼  
musiclistUrl = "http://music.baidu.com/top/dayhot" #  http://music.baidu.com/top/new 

2.直接運行mainWindow.py文件即可,如果網(wǎng)速不給力的話可能要等上3、4分鐘。

運行后如圖:

用到的知識:

1.首先用到了PyQt的GUI編程,窗體布局及QTableWidget、QProgressBar、QPushButton等控件及控件的重寫

2.用到了網(wǎng)絡(luò)編程的部分內(nèi)容,利用urllib,urllib2,cookielib請求網(wǎng)頁,模擬登錄百度。

3.利用HTMLParser解析網(wǎng)頁內(nèi)容,匹配網(wǎng)頁元素。

4.利用codecs進(jìn)行文件的讀寫。

遇到的問題:

1.編碼問題,由于在創(chuàng)建文件時將文件編碼設(shè)置為UTF-8,當(dāng)需要向文件寫入的內(nèi)容為中文等非ASCII碼內(nèi)容時,總是提示編碼問題。其實,百度音樂的網(wǎng)頁全部為UTF-8格式,因此從網(wǎng)頁中獲取的內(nèi)容也是UTF-8格式,但是,要講內(nèi)容寫入UTF-8的文本中,必須將網(wǎng)頁內(nèi)容進(jìn)行decode(“utf8”)解碼為unicode格式,才能正常寫入。

檢測內(nèi)容編碼,可以用chardet模塊的chardet.detect(“內(nèi)容”)的方法。

另外,HTMLParser解析網(wǎng)頁內(nèi)容過程中,有的下載頁面會出現(xiàn)問題,根據(jù)提示信息發(fā)現(xiàn)還是編碼問題,將feed()方法中的內(nèi)容參數(shù)進(jìn)行decode(“utf8”)后,結(jié)果正常。

decode將內(nèi)容根據(jù)參數(shù)內(nèi)容解碼為unicode類型,具體要根據(jù)所采集的頁面的編碼。

github下載地址:點這里

相關(guān)文章

  • Python 實現(xiàn)的 Google 批量翻譯功能

    Python 實現(xiàn)的 Google 批量翻譯功能

    這篇文章主要介紹了Python 實現(xiàn)的 Google 批量翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python decorator攔截器代碼實例解析

    Python decorator攔截器代碼實例解析

    這篇文章主要介紹了Python decorator攔截器代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python實現(xiàn)查找所有程序的安裝信息

    python實現(xiàn)查找所有程序的安裝信息

    本文給大家分享的是使用python通過注冊表信息實現(xiàn)快速查找windows應(yīng)用程序的安裝信息的方法和代碼示例,有需要的小伙伴可以參考下
    2020-02-02
  • Python的Flask框架中使用Flask-SQLAlchemy管理數(shù)據(jù)庫的教程

    Python的Flask框架中使用Flask-SQLAlchemy管理數(shù)據(jù)庫的教程

    在Python中我們可以使用SQLAlchemy框架進(jìn)行數(shù)據(jù)庫操作,那么對應(yīng)的在Flask框架中我們可以使用SQLAlchemy,下面我們就來看一下Python的Flask框架中使用Flask-SQLAlchemy管理數(shù)據(jù)庫的教程
    2016-06-06
  • Python項目管理Git常用命令詳圖講解

    Python項目管理Git常用命令詳圖講解

    這篇文章主要介紹了Python項目管理Git常用命令詳圖講解,文中附含詳細(xì)的圖片講解,建議收藏閱讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Django代碼性能優(yōu)化與Pycharm Profile使用詳解

    Django代碼性能優(yōu)化與Pycharm Profile使用詳解

    本文通過一個簡單的實例一步一步引導(dǎo)讀者對其進(jìn)行全方位的性能優(yōu)化,這篇文章主要給大家介紹了關(guān)于Django代碼性能優(yōu)化與Pycharm Profile使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-08-08
  • 用sleep間隔進(jìn)行python反爬蟲的實例講解

    用sleep間隔進(jìn)行python反爬蟲的實例講解

    在本篇文章里小編給大家整理了一篇關(guān)于用sleep間隔進(jìn)行python反爬蟲的實例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python人工智能之混合高斯模型運動目標(biāo)檢測詳解分析

    Python人工智能之混合高斯模型運動目標(biāo)檢測詳解分析

    運動目標(biāo)檢測是計算機視覺領(lǐng)域中的一個重要內(nèi)容,其檢測效果將會對目標(biāo)跟蹤與識別造成一定的影響,本文將介紹用Python來進(jìn)行混合高斯模型運動目標(biāo)檢測,感興趣的朋友快來看看吧
    2021-11-11
  • Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    Django使用裝飾器限制對視圖的訪問及實現(xiàn)原理

    除了可以在視圖處理中校驗用戶身份以及驗證用戶權(quán)限之外,Django還提供了便捷的裝飾器來完成這兩類校驗,下面介紹這兩個裝飾器的使用方法與實現(xiàn)原理,對Django裝飾器限制視圖訪問相關(guān)知識感興趣的朋友一起看看吧
    2022-10-10
  • Python中的數(shù)學(xué)運算操作符使用進(jìn)階

    Python中的數(shù)學(xué)運算操作符使用進(jìn)階

    這篇文章主要介紹了Python中的數(shù)學(xué)運算操作符使用進(jìn)階,也包括運算賦值操作符等基本知識的小結(jié),需要的朋友可以參考下
    2016-06-06

最新評論

大冶市| 沙雅县| 柞水县| 鞍山市| 清苑县| 磴口县| 武邑县| 永川市| 惠安县| 巴林右旗| 车致| 陆良县| 铜山县| 萨嘎县| 台安县| 唐山市| 剑阁县| 灵川县| 若羌县| 洮南市| 新巴尔虎左旗| 孝昌县| 庆阳市| 额尔古纳市| 绥棱县| 北安市| 金寨县| 瑞丽市| 麦盖提县| 石楼县| 若羌县| 凤凰县| 邵东县| 诏安县| 贵阳市| 禹城市| 桓台县| 行唐县| 保康县| 天津市| 安达市|