이 글은 주로 Python을 사용하여 qq 음악을 크롤링하는 방법을 소개합니다. 음악 URL에 대한 자세한 소개와 샘플 코드 및 일괄 다운로드 관련 정보는 모두에게 참고할만한 가치가 있다고 생각합니다.
머리말
qq 뮤직에는 아직도 음악이 많아요. 가끔 좋은 음악을 다운받고 싶은데, 웹페이지에서 다운받을 때마다 로그인을 해야 하는 경우가 있어요. , 여기 qqmusic 크롤러가 있습니다. 적어도 for 루프 크롤러의 핵심은 크롤링할 요소의 URL을 찾는 것이라고 생각합니다(틀렸다고 해서 웃지 마세요)
구현 방법은 다음과 같습니다
#URL 찾기:
이 URL은 쉽지 않습니다. 다른 웹사이트처럼 찾아보세요. 핵심은 데이터가 많다는 것입니다. 이렇게 많은 데이터에서 유용한 데이터를 골라서 최종적으로 어제 편집한 중간 URL은 다음과 같습니다.
#.url1: https://c.y.qq.com/soso/fcgi-bin/client_search_cp?&lossless=0&flag_qc=0&p=1&n=20&w=雨die
#url2: https: //c.y.qq.com/base /fcgi-bin/fcg_music_express_mobile3.fcg?&jsonpCallback=MusicJsonCallback&cid=205361747&[songmid]&C400+songmid+.m4a&guid=6612300644
#url3:http://dl.stream.qqmusic .qq.com/[filename] ?vkey=[vkey] (여기서 vkey는 음악 관련 문자열 을 대체합니다)
requests(url1)
검색 목록 songmid 및 mid의 각 음악 값(저자의 관찰에 따르면 이 두 값은 각 음악마다 고유함) 이 두 값을 사용하면
의 완전한 특정 값을 얻을 수 있습니다. 검색 결과에서 각 음악의 vkey 값을 가져옵니다. 작성자가 관찰한 후 파일 이름은 C400songmid.m4a입니다. 그런 다음 url3의 특정 값이 결정되고 url3은 음악의 실제 URL입니다. 충분하므로 매번 최대 20개의 음악 URL이 반환되므로 해당 URL을 통해 Tencent의 음악을 최대한 즐길 수 있습니다. requests(url2)
여기 srcs 코드 블록이 있습니다: import requests
import urllib
import json
word = '雨蝶'
res1 = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w='+word)
jm1 = json.loads(res1.text.strip('callback()[]'))
jm1 = jm1['data']['song']['list']
mids = []
songmids = []
srcs = []
songnames = []
singers = []
for j in jm1:
try:
mids.append(j['media_mid'])
songmids.append(j['songmid'])
songnames.append(j['songname'])
singers.append(j['singer'][0]['name'])
except:
print('wrong')
for n in range(0,len(mids)):
res2 = requests.get('https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?&jsonpCallback=MusicJsonCallback&cid=205361747&songmid='+songmids[n]+'&filename=C400'+mids[n]+'.m4a&guid=6612300644')
jm2 = json.loads(res2.text)
vkey = jm2['data']['items'][0]['vkey']
srcs.append('http://dl.stream.qqmusic.qq.com/C400'+mids[n]+'.m4a?vkey='+vkey+'&guid=6612300644&uin=0&fromtag=66')
srcs, 다운로드는 당연히 문제가 되지 않습니다. 물론 src를 브라우저에 복사하여 가수와 노래 제목을 다운로드할 수도 있습니다. 또한 대규모 Python을 사용하여 일괄적으로 다운로드할 수도 있습니다. 이는 우리가 sogou그림을 다운로드하는 데 사용한 방법과 유사하며 루프에 불과합니다. (작성자의 py 버전: python3.3.3)
print('For '+word+' Start download...') x = len(srcs) for m in range(0,x): print(str(m)+'***** '+songnames[m]+' - '+singers[m]+'.m4a *****'+' Downloading...') try: urllib.request.urlretrieve(srcs[m],'d:/music/'+songnames[m]+' - '+singers[m]+'.m4a') except: x = x - 1 print('Download wrong~') print('For ['+word+'] Download complete '+str(x)+'files !')위 두 코드는 동일한 py파일에 작성되어 있으며, 이를 실행하면 키워드에 해당하는 음악을 다운로드 받을 수 있습니다
# 실행 효과:
이제 qqmusic의 URL 크롤러 프로그램 아이디어 및 구현에 대한 설명이 완료되었습니다.
쉘을 만들어 본 MusicPlayer 학생들도 사용할 수 있을 것입니다. 사실 이 작업의 원래 의도는 HTML 기반 음악 플레이어를 제공하는 것입니다. 그런데 지금은 py를 호출하는 js의 링크에 갇혀 있습니다. 이해하시면 알려주세요.
위 내용은 Python은 qq 음악 및 일괄 다운로드에서 음악 URL을 크롤링합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python List 슬라이싱의 기본 구문은 목록 [start : stop : step]입니다. 1. Start는 첫 번째 요소 인덱스, 2.Stop은 첫 번째 요소 인덱스가 제외되고 3. Step은 요소 사이의 단계 크기를 결정합니다. 슬라이스는 데이터를 추출하는 데 사용될뿐만 아니라 목록을 수정하고 반전시키는 데 사용됩니다.

ListSoutPerformArraysin : 1) DynamicsizingandFrequentInsertions/Deletions, 2) StoringHeterogeneousData 및 3) MemoryEfficiencyForsParsEdata, butMayHavesLightPerformanceCosceperationOperations.

TOCONVERTAPYTHONARRAYTOALIST, USETHELIST () CONSTUCTORORAGENERATERATOREXPRESSION.1) importTheArrayModuleAndCreateAnarray.2) USELIST (ARR) 또는 [XFORXINARR] TOCONVERTITTOALIST.

chooSearRaysOverListSinpyTonforBetTerferformanceAndMemoryEfficiencyInspecificscenarios.1) arrgenumericalDatasets : arraysreducememoryUsage.2) Performance-CriticalOperations : ArraysofferspeedboostsfortaskslikeApenorsearching.3) TypeSenforc

파이썬에서는 루프에 사용하여 열거 및 추적 목록에 대한 이해를 나열 할 수 있습니다. Java에서는 루프를 위해 전통적인 사용 및 루프가 트래버스 어레이를 향해 향상시킬 수 있습니다. 1. Python 목록 트래버스 방법에는 다음이 포함됩니다. 루프, 열거 및 목록 이해력. 2. Java 어레이 트래버스 방법에는 다음이 포함됩니다. 루프 용 전통 및 루프를위한 향상.

이 기사는 버전 3.10에 도입 된 Python의 새로운 "매치"진술에 대해 논의하며, 이는 다른 언어로 된 문장과 동등한 역할을합니다. 코드 가독성을 향상시키고 기존 IF-ELIF-EL보다 성능 이점을 제공합니다.

Python 3.11의 예외 그룹은 여러 예외를 동시에 처리하여 동시 시나리오 및 복잡한 작업에서 오류 관리를 향상시킵니다.

Python의 기능 주석은 유형 확인, 문서 및 IDE 지원에 대한 기능에 메타 데이터를 추가합니다. 코드 가독성, 유지 보수를 향상 시키며 API 개발, 데이터 과학 및 라이브러리 생성에 중요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
