지니뮤직에 등록 되어 있는 특정 아티스트의 앨범 정보(* 정규앨범, 싱글/EP, 기타앨범, 참여앨범 등을 포함 한 전체앨범 정보)를 한 번에 크롤링 하는 Python Script 입니다.
■ 아티스트의 앨범 정보 URL에서 특정 앨범 유형의 앨범 정보가 크롤링 됩니다.
- 지니 뮤직에 등록되어 있는 특정 아티스트의 앨범 정보 전체 크롤링
앨범 정보 가져오기
버튼 클릭 후 대기시간 조절(5초 -> 3초)앨범 정보 가져오기
버튼 클릭 후 표기 되는 [경고] 안내 문구 수정- 지니 뮤직에 등록되어 있는 특정 아티스트의 특정 앨범 유형만 선택하여 크롤링 하는 기능 구현
*본 Repositories Releases에 제공 된 .zip 파일을 사용하려는 경우 개별 다운로드 과정을 생략해도 되며, 제공 된 설치 파일들을 신뢰하지 않을 경우 아래 링크를 통해 개별 다운로드 하시기 바랍니다.
Program | URL | 필수여부 | 비고 |
---|---|---|---|
Python 3.9.0 |
Download | 필수 | ◼ Python Script 동작, 파이썬 3.9.0 버전 또는 그 이상 사용 가능 |
Chrome |
Download | 필수 | ◼ 크롤링 전용 웹 브라우저 |
Chrome Driver |
Download | 필수 | ◼ 추가 플러그인 |
-
Python 공식 홈페이지에서 설치 파일을 다운로드 받거나 Repositories에서 다운로드 받은 zip 파일을 적절한 위치에 압축 해제 한 후 Python 설치 파일을 실행 합니다.
or
-
Python을 설치합니다.
[ ※ 주의 ] Python 설치 시 Add python.exe to PATH 에 반드시 체크 후 Install Now 클릭
(📌 미처 누르지 못했다면 설치 파일 다시 실행 또는 제거 후 재 설치)
[ ※ 주의 ] 설치 후 Disable path length limit 기능을 사용할 수 있도록 반드시 클릭
(📌 미처 누르지 못했다면 설치 파일 다시 실행 후 작업 또는 제거 후 재 설치)
-
Chrome Driver 다운로드 받습니다.
(📌 사용 하는 PC 환경에 맞게 다운로드, Windows 환경 사용자 이면서 본 Repositories Releases에 제공 된 .zip 파일 다운로드 받았다면 이 단계 생략 가능)
[ ※ 주의 ] 압축 해제 후 반드시 Script 파일과 동일 디렉터리 또는 하위 디렉터리에 배치 (지정된 하위 디렉터리 폴더 명은 없기 때문에 폴더 이름 상관 없이 인식 가능)
-
모두 설치가 끝났다면 키보드
Win + R
또는시작 -> 검색
란에cmd
를 입력하여 cmd를 실행합니다.
cmd가 실행되었다면 아래 내용을 참고하여 필요한 패키지를 업데이트(선택) 또는 설치 합니다.
5-1. (선택사항, 생략가능) Python Package Update
(* 두 코드 중 하나 선택)
pip install --upgrade pip
or
python -m pip install --upgrade pip
[ ※ 주의 ] 만약 위 명령어 사용 중 ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 액세스가 거부되었습니다: (생략) Consider using the--user
option or check the permissions. 과 같은 오류가 나왔다면 끝에--user
를 붙여서 입력
(* 권한 오류 발생시 두 코드 중 하나 선택)
pip install --upgrade pip --user
or
python -m pip install --upgrade pip --user
5-2. (필수) Package 설치
pip install selenium beautifulsoup4
or
python -m pip install selenium beautifulsoup4
[ ※ 주의 ] 만약 위 명령어 사용 중 ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 액세스가 거부되었습니다: (생략) Consider using the--user
option or check the permissions. 과 같은 오류가 나왔다면 끝에--user
를 붙여서 입력
(* 권한 오류 발생시 두 코드 중 하나 선택)
pip install selenium beautifulsoup4 --user
or
python -m pip install selenium beautifulsoup4 --user
-
GUI 상단
지니뮤직 아티스트 앨범 URL 입력:
란에 URL 입력 후앨범 종류 가져오기
버튼을 클릭합니다.
(📌https://www.genie.co.kr/detail/artistAlbum?xxnm=
로 시작하는 문자열만 처리 됩니다.)
-
앨범 종류가 정상적으로 반환 되었다면 원하는 앨범 종류를 선택 후
앨범 정보 가져오기
버튼을 누르거나,작업 후 아티스트 앨범 URL 값 초기화
체크 박스 기능을 활성화 하고앨범 정보 가져오기
버튼을 누릅니다.
[ ※ 주의 ] 크롤링 중인 웹 브라우저를 최소화 또는 창 위치 이동, 창 크기 조절 하는 것은 괜찮으나, 웹 브라우저 화면에 보이는 항목들을 클릭하는 등의 작업은 금지
(📌앨범 종류 가져오기
버튼 클릭)
(📌 앨범 종류 선택 후앨범 정보 가져오기
버튼 클릭)
(📌 앨범 종류 선택 후작업 후 아티스트 앨범 URL 값 초기화
체크 박스 활성화 +앨범 정보 가져오기
버튼 클릭)
(📌 메뉴파일(File) - 저장(Save)
버튼 클릭)
(📌log Clear
버튼 클릭)
(📌 Repositories Releases에 제공 된 .zip 파일을 다운 받았는 경우에만 해당)
제공 된 Python Script를 수정하고자 하는 파일 선택 후 마우스 우클릭 -> 속성 -> 일반 -> 특성
항목 중 읽기 전용(R)
상태 해제 후 확인
-
지연 시간 변경
앨범 종류 가져오기
버튼 클릭 시:
54번째 줄delay = 1
수정 (* 기본값 = 1, 초 단위로 입력)
앨범 정보 가져오기
버튼 클릭 시:
176번째 줄delay = 3
수정 (* 기본값 = 3, 초 단위로 입력)
-
초기 안내 문구 유지
앨범 종류 가져오기
버튼 클릭 시:
47번째 줄clear_result_text()
주석 처리 또는 삭제
앨범 정보 가져오기
버튼 클릭 시:
167번째 줄clear_result_text()
주석 처리 또는 삭제
-
각 버튼 별 웹 사이트 표시 여부 설정
앨범 종류 가져오기
버튼 클릭 시 웹 사이트 표시 안 함 (* 기본값):
80번째 줄options.add_argument('--headless')
그대로 유지
앨범 종류 가져오기
버튼 클릭 시 웹 사이트 표시:
80번째 줄options.add_argument('--headless')
주석 처리 또는 삭제
앨범 정보 가져오기
버튼 클릭 시 웹 사이트 표시 안 함:
212번째 줄options.add_argument('--headless')
주석 처리 또는 삭제
앨범 정보 가져오기
버튼 클릭 시 웹 사이트 표시 (* 기본값):
212번째 줄options.add_argument('--headless')
그대로 유지