婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何用Python一次性下載抖音上音樂

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

熱門標(biāo)簽:白銀外呼系統(tǒng) 廣告地圖標(biāo)注app 激戰(zhàn)2地圖標(biāo)注 唐山智能外呼系統(tǒng)一般多少錢 騰訊外呼線路 海南400電話如何申請 陜西金融外呼系統(tǒng) 公司電話機(jī)器人 哈爾濱ai外呼系統(tǒng)定制

Python 鏈接抖音

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

爬蟲實現(xiàn)分析

熱歌榜內(nèi)容

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

網(wǎng)頁解析

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

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

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

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

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

巧用eval

我們解析到的內(nèi)容通過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:今天一個朋友說我寫代碼沒注釋,我這是現(xiàn)身說法的告訴你,如何能寫出讓別人壓根看不懂的代碼,就是不寫注釋啊,哈哈!其實,代碼我都在文章中一點一點的講解了,所以沒有寫,但秉承著害怕大佬們?nèi)£P(guān)的心態(tài),我還是把注釋加上吧…

代碼實現(xiàn)

總體來說實現(xiàn)比較簡單,全部代碼如下:

import os
import requests
from bs4 import BeautifulSoup
import threading
import time


class DouYinMusic:
    def __init__(self):
        self.music_list = []
        self.path = self.download_path()

    @staticmethod
    def download_path():
        """
        獲取代碼執(zhí)行目錄,并在目錄下創(chuàng)建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方法
        如果為網(wǎng)頁請求,返回網(wǎng)頁內(nèi)容
        否則,解析音樂地址,并返回音樂二進(jìn)制文件
        :param url: 請求url(分網(wǎng)頁、音樂兩類)
        :return: 網(wǎng)頁內(nèi)容  音樂二進(jìn)制文件
        """
        r = requests.get(url, timeout=5)
        if url.endswith('html'):
            return r.text
        else:
            return r.content

    def analysis_html(self, html):
        """
        根據(jù)獲取的網(wǎng)頁內(nèi)容,解析音樂名稱、下載地址
        調(diào)用音樂下載方法
        :param html: 網(wǎng)頁內(nèi)容
        """
        soup = BeautifulSoup(html, 'lxml')
        # 根據(jù)關(guān)鍵字onclick查找每個下載地址
        for tag_a in soup.findAll('a', attrs={'onclick': True}):
            # 下載格式'("name","link","")',通過eval將str轉(zhuǎn)化為tuple類型
            link_list = eval(tag_a['onclick'][5:])
            music_name, music_link = link_list[:2]
            # 因為存在部分重復(fù)音樂,故設(shè)置判斷下載過的音樂跳過
            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()

來讓我們看看效果吧:

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

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

以上就是如何用Python一次性下載抖音上音樂的詳細(xì)內(nèi)容,更多關(guān)于Python一次性下載抖音上音樂的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂
  • python實現(xiàn)可下載音樂的音樂播放器
  • 如何基于Python批量下載音樂
  • python爬取網(wǎng)易云音樂熱歌榜實例代碼
  • python打開音樂文件的實例方法
  • python給視頻添加背景音樂并改變音量的具體方法
  • python中加背景音樂如何操作
  • 基于python實現(xiàn)音樂播放器代碼實例
  • Python如何爬取qq音樂歌詞到本地
  • python實現(xiàn)音樂播放和下載小程序功能
  • Python音樂爬蟲完美繞過反爬

標(biāo)簽:益陽 黔西 惠州 黑龍江 常德 鷹潭 上海 四川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何用Python一次性下載抖音上音樂》,本文關(guān)鍵詞  如,何用,Python,一次性,下載,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何用Python一次性下載抖音上音樂》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何用Python一次性下載抖音上音樂的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品人成在线观看免费| 成人h动漫精品一区二区| 午夜精品福利在线| 国产电影一区二区三区| 88在线观看91蜜桃国自产| 日本一区二区三级电影在线观看| 亚洲亚洲精品在线观看| 成人网在线播放| 久久综合精品国产一区二区三区| 午夜精品久久久久久久99樱桃| 成人av在线资源网站| 久久蜜桃av一区二区天堂 | 国产精品嫩草久久久久| 国内一区二区视频| 日韩欧美国产不卡| 久久精品国产亚洲5555| 欧美www视频| 国产在线精品视频| 久久免费美女视频| 国产成人免费9x9x人网站视频| 精品剧情在线观看| 韩国在线一区二区| 亚洲精品在线电影| 国产在线精品一区在线观看麻豆| 日韩片之四级片| 美女看a上一区| 久久综合资源网| 粉嫩av亚洲一区二区图片| 欧美日韩精品一区二区三区蜜桃| 亚洲精品日日夜夜| 欧美日韩亚洲另类| 日韩不卡手机在线v区| 日韩欧美卡一卡二| 懂色av一区二区在线播放| 国产精品国产三级国产普通话蜜臀| 成人免费观看av| 亚洲精品高清在线观看| 欧美视频第二页| 秋霞午夜鲁丝一区二区老狼| 日韩精品一区二区三区视频在线观看| 精一区二区三区| 国产欧美日本一区二区三区| 91论坛在线播放| 精品一区二区三区免费观看| 中文字幕一区二区三区四区不卡| 欧美一区二区三区电影| 91精品国产综合久久久久久| 欧美一区二区三区免费在线看| 欧美中文字幕久久 | 欧美激情资源网| 久久一夜天堂av一区二区三区| 日韩三级视频在线观看| 国产午夜三级一区二区三| 18成人在线视频| 麻豆91免费看| 91黄色免费网站| 成人欧美一区二区三区1314| 色呦呦网站一区| 丝袜亚洲另类欧美| 亚洲欧洲一区二区三区| 自拍偷拍国产亚洲| 《视频一区视频二区| 一区二区三区不卡视频在线观看| 欧美性生活大片视频| 精品对白一区国产伦| 欧美国产成人在线| 欧美中文字幕一二三区视频| 久久久精品2019中文字幕之3| av午夜一区麻豆| 亚洲一二三专区| 从欧美一区二区三区| 欧美日韩五月天| 97超碰欧美中文字幕| 精品国产一区二区三区久久影院| 午夜久久福利影院| 欧美一区二区三区视频免费| av影院午夜一区| 日本亚洲电影天堂| 欧美国产精品专区| 91精品国产综合久久小美女| 国内一区二区视频| 性欧美大战久久久久久久久| 久久视频一区二区| 日韩三级免费观看| 91蜜桃在线免费视频| 国产成人av一区二区| 一区二区三区中文字幕在线观看| 国产精品久久毛片av大全日韩| 99精品视频在线播放观看| 国产精品一区二区不卡| 日日摸夜夜添夜夜添亚洲女人| 亚洲自拍都市欧美小说| 欧美在线一二三| 欧美在线观看视频在线| 美女久久久精品| 亚洲成av人片在线| 欧美经典一区二区| 国产亚洲1区2区3区| 日韩精品欧美精品| 亚洲高清免费在线| www日韩大片| 久久综合久久久久88| 国产精品主播直播| 在线观看网站黄不卡| 欧美高清hd18日本| 99久久99久久精品国产片果冻| 高清av一区二区| 蜜臀91精品一区二区三区| 日韩中文字幕区一区有砖一区 | 精品在线一区二区| 亚洲欧美日韩成人高清在线一区| 欧美人伦禁忌dvd放荡欲情| 毛片一区二区三区| 美女在线一区二区| 91蜜桃视频在线| 国内精品伊人久久久久影院对白| 毛片基地黄久久久久久天堂| 亚洲综合激情另类小说区| 久久精品水蜜桃av综合天堂| 国产亚洲欧美激情| 精品av综合导航| 国产视频一区不卡| 久久一夜天堂av一区二区三区| 精品国产一区二区三区av性色| 欧美精品丝袜久久久中文字幕| 粉嫩绯色av一区二区在线观看| 国产真实乱对白精彩久久| 亚洲男人都懂的| 一区二区三区中文字幕在线观看| 日韩女优制服丝袜电影| 日韩欧美精品三级| 精品美女在线观看| 精品美女在线播放| 久久久综合精品| 欧美激情一区二区三区四区| 国产欧美日韩三级| www国产精品av| 国产女人18毛片水真多成人如厕| 久久久久久久综合色一本| 久久九九全国免费| 制服丝袜av成人在线看| 91麻豆精品国产91久久久资源速度 | 无码av免费一区二区三区试看| 日韩一区二区三区视频在线观看| 欧美在线观看一区二区| 在线成人av影院| 91视频一区二区三区| 97精品视频在线观看自产线路二| 成人午夜免费视频| 奇米影视一区二区三区小说| 日韩制服丝袜av| 亚洲国产视频一区二区| 亚洲午夜电影网| 蜜桃久久av一区| 国产精品自拍三区| 国产91精品在线观看| 91官网在线免费观看| 丁香婷婷综合网| 国产高清不卡一区| 国内偷窥港台综合视频在线播放| 中文字幕av一区二区三区免费看 | 91色porny蝌蚪| 国产精品成人一区二区艾草 | 91麻豆精品91久久久久同性| 3d成人动漫网站| 国产精品夜夜爽| 国产精品妹子av| 免播放器亚洲一区| 国产在线不卡一卡二卡三卡四卡| 国产成人8x视频一区二区| 欧美午夜精品久久久| 久久超碰97中文字幕| 国产成人免费视频网站高清观看视频 | √…a在线天堂一区| 青青青伊人色综合久久| 国产成人小视频| 日韩精品一区二区三区四区视频| 国产人久久人人人人爽| 久久色视频免费观看| 亚洲你懂的在线视频| 国产日韩精品一区二区三区| 一级女性全黄久久生活片免费| 国产在线观看免费一区| 春色校园综合激情亚洲| 日韩国产在线观看| 欧美一级xxx| 制服丝袜av成人在线看| 日韩免费成人网| 日韩电影在线免费观看| 日本久久一区二区| 国产精品久久久久久久蜜臀| 蜜臀精品久久久久久蜜臀| 在线日韩av片| 亚洲码国产岛国毛片在线| 成人h版在线观看| 国产色婷婷亚洲99精品小说| 国产乱码字幕精品高清av| 中文字幕不卡的av| 成人免费高清在线观看| 美女高潮久久久|