axios와 cheerio로 노래 목록 가져오기
569
작성한 질문수 3
제로초님 안녕하세요. 강사님의 'axios-cheerio 로 첫 크롤링하기 '편을 보고 직접 다뤄보고자 응용해보던 중, 원하는 결과가 나오지 않아 질문을 올리게 되었습니다.
저는 해당 사이트(네이버 바이브)에서 `.track_section .select_all .text_area .text`에 있는 총 곡 수를 받아와 `songsNum`이라는 변수에 저장하고, `songsNum`수만큼 반복문을 돌려 크롤링한 노래 제목과 아티스트 정보를 배열에 따로 저장하여, json 형식으로 제작하고자 합니다.
그러나 하단의 제가 작성한 코드에서 처럼 `$('.track_section .select_all .text_area .text').text();`나 `$('. track_section .text').text();`등을 통해 text값을 가져오려고 해도 값이 가져와지지 않습니다. 뿐만아니라, 노래 제목과 아티스트명을 `$(선택자).text()`를 이용해서 가져오려고 해도 전부 공백이 뜹니다.
nodemon을 돌리면서 console.log()로 값이 제대로 가져와지는지 확인하고 있는데, 아래의 사진처럼 계속 공백이 나옵니다.
소스코드
const fs = require('fs');
const axios = require('axios');
const cheerio = require('cheerio');
let vibeUrl = fs.readFileSync('./data/vibe.txt').toString();
let title = new Array();
let artists = new Array();
const crawler = async() => {
const response = await axios.get(vibeUrl);
if(response.status === 200) {
const html = response.data;
const $ = cheerio.load(html);
const songsNum = $('.track_section .select_all .text_area .text').text();
console.log(songsNum);
// for(let i = 0; i < songsNum; i++) {
// }
}
}
crawler();
혹시 선택자를 어떻게 이용해야 제가 원하는 값들을 가져올 수 있을지 여쭤보아도 될까요?
답변 1
headless 궁금한게 있어요!
0
481
2
6강 프록시 서버 테스트 관련하여
0
352
2
페이스북 로그인 로그아웃 자동화관련
0
291
2
3-2 axios로 이미지 저장하기에서 axios 관련 오류..
0
281
2
3-1 이미지 다운로드 준비하기 에서 선택자 구성 질문
0
261
3
2-4 csv 출력하기에서 오류 발생
0
303
3
try-puppeteer.appspot.com 을 사용할 수 없나요?
0
157
1
크롬 확장프로그램 관련 질문드립니다.
0
172
1
크롤링 자바스크립트 exe파일
0
563
1
puppeteer 관련
0
606
2
6-3 proxy-database 관련
1
291
1
크롤링을 여러개 돌리려면 어떠한 방법을 선택하는게 좋을까요?
0
800
1
네이버 영화 평점 크롤링 (axis cheerio)
1
495
1
아래 noscript 내용입니다.
0
531
1
크롤링
0
381
1
앱 크롤링
0
1788
1
페이스북 로그인
0
547
1
2019년도 영상이라 error가 나는 걸까요? 2-4. csv에 출력하기에서 error
1
465
1
안녕하세요! for of와 Promise.all 차이점에 관해서 질문드려요!
0
451
2
대량 요청 처리 방법
0
470
1
구글 패스워드 자동입력시 오류
0
256
1
반복크롤링 할 때 아래 질문주신분 하고 약간 형태가 달라요
0
371
2
인스타그램 돔의 value 값으로 쿼리셀렉터 찾을 수 있나요?
0
306
1
페이스북 로그인시 돔이 생성 안되는 문제
0
316
1





