Недавно я работал над приложением React Native, где мне приходилось собирать данные с сайта и использовать их в своем приложении.

Сначала я использовал Node js и Express для создания REST API, а затем использовал Cheerio для анализа HTML.

Эта настройка стала проблемой, так как количество людей, которые использовали мое приложение, увеличилось. Веб-сайт блокировал запросы с моего сервера или перенаправлял их на страницу CAPTCHA.

Решение, которое я придумал, заключалось в том, чтобы выполнять веб-скрапинг на стороне клиента.

Как парсить веб-страницы в React Native

В этом примере я буду искать дроны на eBay.

Шаг 1 — Установите cheerio без нативного узла

npm i cheerio-without-node-native

Шаг 2. Получите HTML-код с веб-сайта

import cio from 'cheerio-without-node-native'
const URL = "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313&_nkw=drones&_sacat=0"
async function getDroneData() {
  const response = await fetch(Url);   // fetch page
  const data = await response.text();  // get response text
}

Шаг 3. Извлеките необходимые данные из HTML

Если вам нужно подробное объяснение приведенного выше кода или у вас есть вопрос, дайте мне знать в разделе комментариев.