How to use Python to crawl cool music songs in batches
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
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.