Парсинг динамических и статических веб-сайтов на Node.js и React.js
Парсинг веб-сайтов - это техника извлечения данных с веб-сайтов. И фрагмент кода или программное обеспечение, которое помогает вам собирать данные, известно как парсер.
Различные способы парсинга включают обычное копирование и вставку, сопоставление текстовых шаблонов, программирование HTTP, парсинг HTML, парсинг DOM, вертикальная агрегация, распознавание семантических аннотаций и анализ веб-страниц с помощью компьютерного зрения.
В зависимости от данных, которые нужно получить, различные программы используют вышеуказанные методы. В этой статье мы сосредоточимся на парсинге HTML.
Мы можем создавать парсеры на языках программирования, таких как JavaScript, Python, Java, Php, Golang и т. д. В этой статье мы будем использовать JavaScript как на Node.js, так и на React.js.
Пример кода для парсинга статических веб-сайтов
Сначала нам понадобится установить Axios и Cheerio в нашу среду Node.js -
Установка Cheerio -
npm install cheerio
Установка Axios -
# Используя npm:
npm install axios# Используя bower:
bower install axios# Используя yarn:
yarn add axios
Вот полный код -
Scraper.js
import { useState } from "react";
const Scrapper = () => {
const cheerio = require("cheerio");
const axios = require("axios");
const [data, setData] = useState([]);
const links = [];
axios.get("https://akashmittal.com/").then((urlResponse) => {
const $ = cheerio.load(urlResponse.data);
$("div.cs-homepage-category").each((i, element) => {
const link = $(element).find("a.cs-overlay-link").attr("href");
links.push(link);
});
// console.log(links)
setData(links);
});
return (
<ul>
{data.map((read) => {
return (
<li>
<a href={read}>{read} </a>
</li>
);
})}
</ul>
);
};
export default Scrapper;
Прочитайте полное руководство на akashmittal.com