Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to use Python to crawl cool music songs in batches

Shulou Source: shulou.com Published: 2022-06-02 01:12:35 10月01日 Update

How to use Python to crawl Kuwi music songs in batches, in view of this problem, this article introduces the corresponding analysis and solution in detail, hoping to help more partners who want to solve this problem to find a more simple and easy way.

This goal

Cool. I crawl music songs.

Https://www.kugou.com/

Environment introduction

Python 3.6

Pycharm

Requests

Python爬取实战练习:批量爬取酷我音乐歌曲

Start code

Import tool

Import requestsimport re

Request web page

Headers = {'authority':' wwwapi.kugou.com', 'cookie':' kg_mid=ac3836df72c523f46a85d8a5fd90fe59; kg_dfid=3ve7aQ2XyGmN0yE3uv3WcaHs; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1600260110,1602312707; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; kg_mid_temp=ac3836df72c523f46a85d8a5fd90fe59; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1602312738', 'referer':' https://www.kugou.com/song/', 'user-agent':' Mozilla/5.0 (Windows NT 10.0 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',} url= 'https://www.kugou.com/yy/rank/home/1-8888.html?from=rank'response = requests.get (url=url, headers=headers)

Parsing web page data

Def func (url): hashs = re.findall ('"Hash": (. *?)', response.text, re.S) album_ids = re.findall ('"album_id": (. *?),', response.text, re.S) FileNames = re.findall ('"FileName": "(. *?)', response.text, re.S) data = zip (hashs, album_ids) FileNames) for i in data: hash = I [0] album_ids = I [1] FileName = I [2] .encode ('utf-8'). Decode (' unicode_escape') # print (hash, album_ids, FileName) download_url = 'https://wwwapi.kugou.com/yy/index.php' params = {' ringing: 'play/getdata' 'callback':' jQuery19107150201841602037_1602314563329', 'hash':' {} '.format (hash),' album_id':'{} '.format (album_ids),' dfid': '3ve7aQ2XyGmN0yE3uv3WcaHsgiving,' mid': 'ac3836df72c523f46a85d8a5fd90fe59',' platid': '4format,' _': '1602312793005,}

Save data

Def download (url, title): filename ='C:\\ Users\\ Administrator\\ Desktop\\ New folder\\ + title + '.mp3' response = requests.get (url=url, headers=headers) with open (filename, mode='wb') as f: f.write (response.content) print (title)

Run the code, and the effect is as follows

This is the answer to the question about how to crawl Kuwi music songs in batches with Python. I hope the above content can be of some help to you. If you still have a lot of doubts to be solved, you can follow the industry information channel to learn more about it.

Tags: Songs music questions code data more web pages help answers easy easy content guys partners tools effects files folders methods environment Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia Xiaomi Apple MariaDB vpn