찾다
백엔드 개발파이썬 튜토리얼Python은 qq 음악 및 일괄 다운로드에서 음악 URL을 크롤링합니다.

이 글은 주로 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)

#Code

여기 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')

#Download:

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파일에 작성되어 있으며, 이를 실행하면 키워드에 해당하는 음악을 다운로드 받을 수 있습니다


# 실행 효과:

다운로드 시작, 아래... 다운로드 디렉토리로 이동하여 살펴보세요.

Python爬取qq music中的音乐url及批量下载的方法

음악이 성공적으로 다운로드되었습니다. . .

Python爬取qq music中的音乐url及批量下载的方法이제 qqmusic의 URL 크롤러 프로그램 아이디어 및 구현에 대한 설명이 완료되었습니다.

#Usage:

쉘을 만들어 본 MusicPlayer 학생들도 사용할 수 있을 것입니다. 사실 이 작업의 원래 의도는 HTML 기반 음악 플레이어를 제공하는 것입니다. 그런데 지금은 py를 호출하는 js의 링크에 갇혀 있습니다. 이해하시면 알려주세요.

위 내용은 Python은 qq 음악 및 일괄 다운로드에서 음악 URL을 크롤링합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
파이썬 어레이를 어떻게 슬라이스합니까?파이썬 어레이를 어떻게 슬라이스합니까?May 01, 2025 am 12:18 AM

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

어떤 상황에서 목록이 배열보다 더 잘 수행 될 수 있습니까?어떤 상황에서 목록이 배열보다 더 잘 수행 될 수 있습니까?May 01, 2025 am 12:06 AM

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

파이썬 어레이를 파이썬 목록으로 어떻게 변환 할 수 있습니까?파이썬 어레이를 파이썬 목록으로 어떻게 변환 할 수 있습니까?May 01, 2025 am 12:05 AM

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

Python에 목록이있을 때 배열을 사용하는 목적은 무엇입니까?Python에 목록이있을 때 배열을 사용하는 목적은 무엇입니까?May 01, 2025 am 12:04 AM

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

목록과 배열의 요소를 반복하는 방법을 설명하십시오.목록과 배열의 요소를 반복하는 방법을 설명하십시오.May 01, 2025 am 12:01 AM

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

Python Switch 문은 무엇입니까?Python Switch 문은 무엇입니까?Apr 30, 2025 pm 02:08 PM

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

파이썬의 예외 그룹은 무엇입니까?파이썬의 예외 그룹은 무엇입니까?Apr 30, 2025 pm 02:07 PM

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

파이썬의 기능 주석이란 무엇입니까?파이썬의 기능 주석이란 무엇입니까?Apr 30, 2025 pm 02:06 PM

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

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

mPDF

mPDF

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

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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