当前位置:网站首页>An article taught you to download cool dog music using Python web crawler

An article taught you to download cool dog music using Python web crawler

2020-11-06 20:53:00 Python advanced

【 One 、 Project background 】

Now listening to music software is all kinds of payment , You have to download software to listen to , When you download it , You'll be surprised to find that the song still charges , This makes Xiaobian, who has always liked white whoring, feel very sad . therefore , Xiao Bian thinks hard , Finally let me discover the mystery , Let's see .

【 Two 、 Project preparation 】

1、 Editor :Sublime Text 3

2、 Software :360 browser

【 3、 ... and 、 Project objectives 】

Download our favorite music .

【 Four 、 Project implementation 】

1、 Open the official website of cool dog music

360 The browser opens the official website of cool dog music :

You can see a very refreshing painting style , This is also my favorite place .

2、 Review element , Analysis request

open Network , Analysis request , We can see :

As can be seen from the above figure , This is the request parameter , So we can use it Requests The module makes a request to it .

3、 Simulate initiate request

We know from the website that its address is :

https://www.kugou.com/yy/html/search.html#searchType=song&searchKeyWord=%E4%B8%8D%E8%B0%93%E4%BE%A0

We can see that the only thing that really works for us is SearchKeyWord The value after the parameter , The previous search type can be filled in by default , So we can do this :

import requests
headers={
'accept': '*/*',
'accept-encoding':'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': 'kg_mid=ebb2de813317a791bcf7b7d3131880c4; UM_distinctid=1722ba8b22632d-07ac0227c507a7-4e4c0f20-1fa400-1722ba8b2284a1; kg_dfid=0Q0BEI47P4zf0mHYzV0SYbou; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1590041687,1590280210,1590367138,1590367386; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1590367431',
'referer': 'https://www.kugou.com/yy/html/search.html',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
aa=input(' Please enter the song name :')
data={
'callback': 'jQuery112408716317197794392_1590368232677',
'keyword':aa,
'page': '1',
'pagesize':'30',
'userid':'-1',
'clientver': '',
'platform': 'WebFilter',
'tag': 'em',
'filter': '2',
'iscorrection': '1',
'privilege_filter': '0',
'_': '1590368232679',
}
requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=4)

This implements the simulated request , Let's verify :

As like as two peas, we can see that it has successfully printed the same address as ours .

4、 Get a list of music files

rep=requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=5)
print(rep.url)
res=requests.get(rep.url,timeout=4)
print(res.text)

When we fill in the request address correctly , I found that the content didn't match the expectation , But ask for a batch of address pairs .

I thought it was the result :

The actual result is :

You can see that there is a big gap , Also used Json You can't get it at all , Report format error , The explanation is not a Json, It seems that this is more than QQ The music is very difficult . But what we're going to download today is audio files , So skip for a while , Whatever it is .

5、 Download audio files

We select the original track from the list that pops up after searching , Go in and listen to :

I chose the first one , Open like this , We started to operate , open Network:

We enter the suffix Mp3, Then locate the corresponding request , Then open its request result , You can see a Json result :

We will Json The results are pasted into the console , You can see that there is a paragraph about Mp3 Result , But with a little interference , Let's extract it :

So we can download cool dog songs .

【 5、 ... and 、 Project summary 】

1、 Actually , Cool dog music and QQ The music is different , Cool dog music download link better capture , You can capture it directly in its playback interface :

Simulate the request interface , It's all done .

2、 About QQ The acquisition of music , You can refer to the previous series :

3、 Need this article source code small partner , The background to reply “ Cool dog music ” Four words , Can get . Want to learn more Python Web crawler and data mining knowledge , Go to a professional website :http://pdcfighting.com/

版权声明
本文为[Python advanced]所创,转载请带上原文链接,感谢