Получить текст тега в другом формате в Cheerio - PullRequest
0 голосов
/ 14 июля 2020

Я использую пакет cheerio npm для извлечения данных с веб-сайтов для моего приложения node

Ниже приведен фрагмент кода из моего приложения:

const response = await axios.get(
  "https://cors-anywhere.herokuapp.com/https://example.com/search/?q=" +
  param
);
console.log("Response got");
const $ = cheerio.load(response.data);

const chunk1 = $("h1.text-primary a ").text();
console.log(chunk1);

С помощью приведенного выше кода я нацелен на текст из следующего тега:

<h1 class="text-primary font-weight-bold media-heading h4" itemprop="title">
  <a href="/teacher-107/" class="no-uline" title="Teacher">
Teacher
</a>
  <meta itemprop="employmentType" content="Full Time">
</h1>

Проблема, с которой я сталкиваюсь, заключается в том, что есть 4 блока тегов, подобных этому, cheerio получает текст тега, но дает текст из всех 4 тегов в виде одной строки, например : Teacher Plumber Police Army но хотелось бы иметь его в массиве, объекте или отдельной строке.

Как мне это сделать ??

1 Ответ

0 голосов
/ 14 июля 2020

Ок, разобрался сам

 let jobTitles=[];
$('h1.text-primary ').find('a').each(function(index, element) {
  jobTitles.push($(element).text());
  index
});
...