# coding=gbkimport requestsimport jsonc='網易雲爬蟲實戰一'print(c)music_url = 'https://music.163.com/#/song?id=28815250'id = music_url.split('=')[1]# print(id)url = 'https://music.163.com/weapi/v1/resource/comments/R_SO_4_%s?csrf_token=7e19029fe28aa3e09cfe87e89d2e4eeb' %(id)headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', 'Referer': 'https://music.163.com/song?id=%s' %(id), 'Origin': 'https://music.163.com', }formdata = { 'params': 'AoF/ZXuccqvtaCMCPHecFGVPfrbtDj4JFPJsaZ3tYn9J+r0NcnKPhZdVECDz/jM+1CpA+ByvAO2J9d44B/MG97WhjmxWkfo4Tm++AfyBgK11NnSbKsuQ5bxJR6yE0MyFhU8sPq7wb9DiUPFKs2ulw0GxwU/il1NS/eLrq+bbYikK/cyne90S/yGs6ldxpbcNd1yQTuOL176aBZXTJEcGkfbxY+mLKCwScAcCK1s3STo=', 'encSecKey': '365b4c31a9c7e2ddc002e9c42942281d7e450e5048b57992146633181efe83c1e26acbc8d84b988d746370d788b6ae087547bace402565cca3ad59ccccf7566b07d364aa1d5b2bbe8ccf2bc33e0f03182206e29c66ae4ad6c18cb032d23f1793420ceda05e796401f170dbdb825c20356d27f07870598b2798f8d344807ad6f2', }response = requests.post(url, headers = headers, data = formdata)messages = json.loads(response.text)data_list=[]data={}for message in messages['hotComments']:data['nickname']=message['user']['nickname']data['content']=message['content']data_list.append(data)data={}#print(data_list)for i in data_list:c = ' '+i['nickname']+':'+i['content']print('\n\n'+c.replace('\n',''))
總結:
1、第一行的“# coding=gbk”表示的是可以在文字編輯器中輸入文字字串。
2、"id = music_url.split('=')[1]"中split()函數表示對元素進行分組,例中為“https://music.163.com/#/song?id=”,“28815250”
3、由requests模組擷取的HTML文本需要用json.loads()方法進行轉化為Python可讀的文本,否則會報錯。在jupyter notebook中則不會出現這種情況。
4、replace()函數可以去除字串中的元素,例中將分行符號變為空白。
最終顯示結果如:
本文介紹了網易雲音樂評論爬取 的相關內容,請關注php中文網。