Недавно я работал над приложением 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
Если вам нужно подробное объяснение приведенного выше кода или у вас есть вопрос, дайте мне знать в разделе комментариев.