欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

首先聲明,本工具僅僅為學(xué)習(xí)之用,不涉及版權(quán)問題,因?yàn)榘俣纫魳防锩娴母枨旧硎强梢韵螺d的,而且現(xiàn)在百度也提供了”百度音樂播放器”,可以通過這個(gè)工具進(jìn)行批量下載。

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

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

功能:

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

2.支持單個(gè)、多個(gè)歌曲的下載。

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

缺陷:

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

本工具運(yùn)行流程:

1.模擬用戶登錄百度。

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

3.用戶點(diǎn)擊下載按鈕或者批量下載按鈕后,下載歌曲。

使用方法:

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

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

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

運(yùn)行后如圖:

用到的知識(shí):

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

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

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

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

遇到的問題:

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

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

另外,HTMLParser解析網(wǎng)頁內(nèi)容過程中,有的下載頁面會(huì)出現(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下載地址:點(diǎn)這里

相關(guān)文章

  • Python 如何實(shí)現(xiàn)文件自動(dòng)去重

    Python 如何實(shí)現(xiàn)文件自動(dòng)去重

    這篇文章主要介紹了Python 實(shí)現(xiàn)文件自動(dòng)去重操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 通過LyScript實(shí)現(xiàn)從文本中讀寫ShellCode

    通過LyScript實(shí)現(xiàn)從文本中讀寫ShellCode

    LyScript 插件通過配合內(nèi)存讀寫,可實(shí)現(xiàn)對(duì)特定位置的ShellCode代碼的導(dǎo)出。本文將利用這一特性實(shí)現(xiàn)從文本中讀寫ShellCode,感興趣的可以了解一下
    2022-08-08
  • 利用Python腳本實(shí)現(xiàn)傳遞參數(shù)的三種方式分享

    利用Python腳本實(shí)現(xiàn)傳遞參數(shù)的三種方式分享

    使用python腳本傳遞參數(shù)在實(shí)際工作過程中還是比較常用。這篇文章為大家總結(jié)了三個(gè)常用的方式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Python實(shí)現(xiàn)http接口自動(dòng)化測試的示例代碼

    Python實(shí)現(xiàn)http接口自動(dòng)化測試的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)http接口自動(dòng)化測試的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python通過Socket手動(dòng)實(shí)現(xiàn)HTTP協(xié)議

    Python通過Socket手動(dòng)實(shí)現(xiàn)HTTP協(xié)議

    這篇文章主要為大家詳細(xì)介紹了Python如何通過Socket手動(dòng)實(shí)現(xiàn)HTTP協(xié)議,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一
    2024-03-03
  • python批量從es取數(shù)據(jù)的方法(文檔數(shù)超過10000)

    python批量從es取數(shù)據(jù)的方法(文檔數(shù)超過10000)

    今天小編就為大家分享一篇python批量從es取數(shù)據(jù)的方法(文檔數(shù)超過10000),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python3使用print打印帶顏色的字符串代碼實(shí)例

    python3使用print打印帶顏色的字符串代碼實(shí)例

    這篇文章主要介紹了python3使用print打印帶顏色的字符串代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python對(duì)于json數(shù)據(jù)鍵值對(duì)遍歷

    Python對(duì)于json數(shù)據(jù)鍵值對(duì)遍歷

    這篇文章主要介紹了一文搞定Python中對(duì)于json數(shù)據(jù)鍵值對(duì)遍歷,Python中可以通過字典或者列表的遍歷方式來遍歷JSON格式的數(shù)據(jù)中的鍵值對(duì),具體的遍歷方法取決于你將JSON數(shù)據(jù)解析后得到了一個(gè)字典對(duì)象還是一個(gè)列表對(duì)象,以及JSON數(shù)據(jù)的結(jié)構(gòu),需要的朋友可以參考下
    2023-04-04
  • 一文帶你探尋Python中的裝飾器

    一文帶你探尋Python中的裝飾器

    這篇文章就來和大家詳細(xì)講一講Python中裝飾器的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們深入了解Python有一定的幫助,感興趣的可以了解一下
    2023-04-04
  • Django項(xiàng)目在pycharm新建的步驟方法

    Django項(xiàng)目在pycharm新建的步驟方法

    在本篇文章里小編給大家整理的是一篇關(guān)于Django項(xiàng)目在pycharm新建的步驟方法,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-03-03

最新評(píng)論