nodej를 사용하여 스크래핑을 구현하려고합니다. 특정 URL에 요청을 보내고 응답을 받으면 응답을 사용하여 각 제품을 페이지에 배열로 저장합니다. 각 제품에 대해 제품 이름, 가격 및 할인 등과 같은 제품 세부 정보를 표시하려고합니다. 다음 코드로이 작업을 수행합니다.nodejs를 사용하여 웹 스크래핑에서 클래스 선택기를 지정하는 방법
var $products = $body.find('.fashion-item');
$products.each(function (i, item) {
var $name = ($(item).find('.info .title').text(),
$price=$(item).find('span.price.regular').text().substr(6),
$discount=$(item).find('span.price.percentoff').text().slice(0,2);
self.items[i] = {
title: $name,
price: $price,
discount: $discount,
};
});
console.log(self.items);
잘 작동합니다. 클래스 이름이 'fashion-item'또는 'fashion-item-first'와 같으면이 모든 것이 정상적으로 작동합니다. 그러나 클래스 이름에 단어 사이에 공백이 있으면 array ($ products)에 저장된 제품을 얻지 못하고 있는데, 즉 $ products의 배열 길이는 0입니다. 내 질문은이 '패션 - 항목 먼저'같은 클래스 이름을 경우 같은 일을하는 방법입니다. 나는 대단히 노력했지만 아무런 생각이 들지 않았다. 도와주세요.
가 대단히 감사합니다 사용합니다. 문제가 해결되었습니다. –