# coding=gbk import requests import json c='网易云爬虫实战一' 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. 요청 모듈에서 얻은 HTML 텍스트는 json.loads() 메서드를 사용하여 Python에서 읽을 수 있는 텍스트로 변환해야 합니다. 그렇지 않으면 오류가 보고됩니다. 주피터 노트북에서는 이런 일이 발생하지 않습니다.
4.replace() 함수는 문자열에서 요소를 제거할 수 있습니다. 이 예에서는 개행 문자가 빈 문자로 변경됩니다.
최종 표시 결과는 다음과 같습니다.
본 글에서는 NetEase Cloud 음악 리뷰 크롤링 관련 내용을 소개하고 있으니 PHP 중국어 웹사이트를 주목해주세요.
관련 권장 사항:
HTML을 Excel로 변환하고 인쇄 및 다운로드 기능을 실현
위 내용은 NetEase Cloud 음악 리뷰 크롤링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!