日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何用Python一次性下載抖音上音樂

瀏覽:17日期:2022-06-19 15:37:34
目錄Python 鏈接抖音爬蟲實現分析熱歌榜內容網頁解析巧用eval代碼實現Python 鏈接抖音

python下載抖音內容的帖子網上有一些,但都比較麻煩,需要通過adb連接安卓手機后,模擬操作。我這么懶,這種事兒玩不來…那么,該如何獲取抖音內容呢?網上搜了下大概有兩種方式,一個是瀏覽器插件快抖,另外一個是我今天要說的抖音網頁版。其實這兩者差別不是很大,都是先將抖音內容下載至服務器后,通過開發簡單網站配置域名后,讓大家訪問。讓我們來看看抖音網頁版:

如何用Python一次性下載抖音上音樂

爬蟲實現分析熱歌榜內容

如何用Python一次性下載抖音上音樂

大家先開看看這個抖音熱歌榜歌曲,每頁20首歌曲,一個55頁。但細不細心大家都能發現,很多歌曲存在重復的問題。所以,等下爬蟲的時候,我們需要先準備一個music_list,用來識別這首歌曲是否已經下載過了…

網頁解析

如何用Python一次性下載抖音上音樂

網頁比較簡單,一個div中包裹了一個ul>li*20,我們是不是該這樣獲取:

soup.find(’div’,{'class':'pull-left'}).find(’ul’).findAll(’a’)

如果你說是,那么一定沒有好好看我前天整理的文章通過哪吒豆瓣影評,帶你分析python爬蟲快速入門:https://www.jianshu.com/p/ae38f7607902,我在文章中專門提到了一個小技巧,通過使用attr的屬性進行快速解析,那么最快速的獲取方式是:

soup.findAll(’a’, attrs={’onclick’: True})

我們只需要獲取所有的a標簽,切這些標簽中包含onclick這個屬性即可。

巧用eval

我們解析到的內容通過attr[‘onclick’],可以得到他的屬性open1(‘夜’,’http://p9-dy.byteimg.com/obj/61a20007a98954b0831d),如何能快速獲取歌曲名字和url呢?這里我們需要用到一個eval的小技巧:

index = 'open1(’夜’,’http://p9-dy.byteimg.com/obj/61a20007a98954b0831d’,’’)'index[5:]'(’夜’,’http://p9-dy.byteimg.com/obj/61a20007a98954b0831d’,’’)'index_tuple = eval(index[5:])print(index_tuple, type(index_tuple))(’夜’, ’http://p9-dy.byteimg.com/obj/61a20007a98954b0831d’, ’’) <class ’tuple’>index_tuple[0]’夜’index_tuple[1]’http://p9-dy.byteimg.com/obj/61a20007a98954b0831d’

ps:今天一個朋友說我寫代碼沒注釋,我這是現身說法的告訴你,如何能寫出讓別人壓根看不懂的代碼,就是不寫注釋啊,哈哈!其實,代碼我都在文章中一點一點的講解了,所以沒有寫,但秉承著害怕大佬們取關的心態,我還是把注釋加上吧…

代碼實現

總體來說實現比較簡單,全部代碼如下:

import osimport requestsfrom bs4 import BeautifulSoupimport threadingimport timeclass DouYinMusic: def __init__(self):self.music_list = []self.path = self.download_path() @staticmethod def download_path():'''獲取代碼執行目錄,并在目錄下創建Music文件夾:return Music文件夾全路徑'''base_dir = os.path.dirname(os.path.abspath(__file__))_path = os.path.join(base_dir, 'Music')if not os.path.exists(_path): os.mkdir(_path)return _path def get_request(self, url):'''封裝requests.get方法如果為網頁請求,返回網頁內容否則,解析音樂地址,并返回音樂二進制文件:param url: 請求url(分網頁、音樂兩類):return: 網頁內容 & 音樂二進制文件'''r = requests.get(url, timeout=5)if url.endswith(’html’): return r.textelse: return r.content def analysis_html(self, html):'''根據獲取的網頁內容,解析音樂名稱、下載地址調用音樂下載方法:param html: 網頁內容'''soup = BeautifulSoup(html, ’lxml’)# 根據關鍵字onclick查找每個下載地址for tag_a in soup.findAll(’a’, attrs={’onclick’: True}): # 下載格式’('name','link','')’,通過eval將str轉化為tuple類型 link_list = eval(tag_a[’onclick’][5:]) music_name, music_link = link_list[:2] # 因為存在部分重復音樂,故設置判斷下載過的音樂跳過 if music_name in self.music_list:continue self.music_list.append(music_name) t = threading.Thread(target=self.download_music, args=(music_name, music_link)) time.sleep(0.5) t.start() def download_music(self, music_name, music_link):'''解析音樂文件,完成音樂下載:param music_name: 音樂名稱:param music_link: 下載地址'''_full_name = os.path.join(self.path, music_name)with open(_full_name + ’.mp3’, ’wb’) as f: f.write(self.get_request(music_link))print('抖音音樂:{} 下載完成'.format(music_name)) def run(self):'''主方法,用于批量生成url'''for page in range(1,55): url = 'http://douyin.bm8.com.cn/t_{}.html'.format(page) html = self.get_request(url) self.analysis_html(html)if __name__ == ’__main__’: main = DouYinMusic() main.run()

來讓我們看看效果吧:

如何用Python一次性下載抖音上音樂

網站是通過nginx負載均衡搭建的,有一些鏈接已經失效了。最終下載了不重復的592首抖音音樂。

如何用Python一次性下載抖音上音樂

同樣的,大家喜歡可以按照這種方法,嘗試下載一下網站的抖音視頻。

以上就是如何用Python一次性下載抖音上音樂的詳細內容,更多關于Python一次性下載抖音上音樂的資料請關注好吧啦網其它相關文章!

標簽: 抖音 Python
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久九九99| 91精品精品| 日韩精品一区二区三区av| 日韩毛片网站| 国产欧美一区| 日韩av自拍| 群体交乱之放荡娇妻一区二区| 欧美在线亚洲综合一区| 亚洲精品视频一二三区| 久久99免费视频| 在线一区视频观看| 亚洲天堂日韩在线| 久久精品一区| 亚洲精品a级片| 日本欧美一区| 日韩精品永久网址| 视频一区视频二区中文字幕| 国产欧美另类| 99tv成人| 日韩精品欧美大片| 吉吉日韩欧美| av日韩中文| 午夜在线视频观看日韩17c| 欧美日韩亚洲一区三区| 日韩亚洲一区在线| 亚洲资源在线| 成人三级高清视频在线看| 久久午夜精品| 国产精品视频一区二区三区四蜜臂 | 国产精品亚洲欧美| 国产一区亚洲| 国产欧美日韩一区二区三区在线| 日韩免费福利视频| 亚洲日本国产| 国产在线|日韩| 国产亚洲电影| 美女精品在线| 日韩伦理在线一区| 91成人在线网站| 欧美日韩国产欧| 精品色999| 视频一区二区不卡| 新版的欧美在线视频| 日韩精品亚洲专区在线观看| 日韩大片免费观看| 91精品国产经典在线观看| 欧美不卡视频| 精品国产亚洲日本| 亚久久调教视频| 久久蜜桃av| 久久久久久亚洲精品美女| 蜜臀av一区二区在线免费观看| 国产理论在线| 国产精品一区2区3区| 男人操女人的视频在线观看欧美| 伊人久久国产| 国产精品视频一区二区三区 | 国产精品国产三级在线观看| 男人天堂欧美日韩| 色吊丝一区二区| 国产精品久久国产愉拍| 六月天综合网| 国产主播一区| 久久久久久夜| 欧美激情一区| 国产午夜一区| 日韩av中文字幕一区二区| 视频一区二区国产| 欧美不卡高清| 在线亚洲人成| 高清一区二区三区| 免费精品一区| 国产高清亚洲| 欧美亚洲免费| 日韩激情网站| 中文字幕av一区二区三区人| 欧美天堂亚洲电影院在线观看| 日本一区二区免费高清| 麻豆精品久久久| 国产精品欧美一区二区三区不卡| 中文字幕日韩欧美精品高清在线| 国产日韩综合| 欧美日韩国产综合网| 亚洲第一精品影视| 亚洲精品福利电影| 四虎成人av| 成人亚洲一区| 超级白嫩亚洲国产第一| 久久久久久夜| 日本蜜桃在线观看视频| 鲁鲁在线中文| 成人精品亚洲| 国产综合婷婷| 红桃视频国产一区| 亚洲欧美日韩国产一区二区| 欧美日韩国产综合网| 日韩午夜av| 久久不射网站| 亚洲欧美网站在线观看| 亚洲小说春色综合另类电影| 亚洲尤物av| 日本成人中文字幕| 国产乱码精品一区二区亚洲| 91精品在线免费视频| 国产精品欧美日韩一区| 老司机免费视频一区二区| 国产成人精品一区二区三区免费 | 韩日一区二区| 精品国产aⅴ| 97国产精品| 激情国产在线| 欧美成a人免费观看久久| 不卡中文字幕| 视频一区二区不卡| 日韩国产一区二| 国产精品成人3p一区二区三区| 国产精品qvod| 97精品国产福利一区二区三区| 日韩精品91| 国产精品毛片在线看| 亚洲精品日韩久久| 国产乱码精品一区二区三区四区| 欧美激情麻豆| 深夜视频一区二区| 国产亚洲毛片| 日韩欧美激情电影| 久久精品天堂| 久久久久久久久久久9不雅视频| 狠狠色综合网| 日韩高清欧美激情| 国产精品精品国产一区二区| 欧美在线观看视频一区| 亚洲在线久久| 麻豆精品久久久| 99精品在线免费在线观看| 日韩中文字幕av电影| 欧美在线不卡| xxxxx性欧美特大| 蜜臀久久久久久久| 精品视频一区二区三区在线观看| 久久久国产精品一区二区中文| 亚洲欧美日本国产专区一区| 国产区精品区| 私拍精品福利视频在线一区| 亚洲一区二区日韩| 国产一区二区三区国产精品| 欧美女激情福利| 国产精品美女久久久久久不卡| 日韩在线观看| 中文字幕日本一区| jizzjizz中国精品麻豆| 蜜臀av在线播放一区二区三区| 欧美国产精品| 伊人精品在线| 免费亚洲婷婷| 在线一区电影| 久久亚洲资源中文字| 国产亚洲精品v| 精品视频一二| 一区福利视频| 视频一区国产视频| 日韩欧美字幕| 肉色欧美久久久久久久免费看| 亚洲理论在线| 欧美日韩一区二区三区在线电影| 99亚洲视频| 日韩欧美四区| 精品免费av| 夜夜嗨av一区二区三区网站四季av| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品自拍| 国产一区精品福利| 欧美特黄一区| 国产精品一区二区三区美女 | 91午夜精品| 日韩精品永久网址| 青青国产91久久久久久| 国产一区二区三区自拍| 91久久精品无嫩草影院| 欧美日韩精品一区二区视频| 日本不卡一区二区| 精品一区免费| 日韩av在线中文字幕| 日韩视频一二区| 国产91精品对白在线播放| 国产精品白丝久久av网站| 亚洲中午字幕| 久久久一本精品| 久久国产精品免费一区二区三区| 偷拍欧美精品| 伊人久久在线| 国产精品一区免费在线| 免费在线视频一区| 色乱码一区二区三区网站| 日本视频在线一区| 伊人久久大香线蕉av超碰演员| 国内精品麻豆美女在线播放视频| 免费在线观看成人| 亚洲高清久久| 精品三级国产|