В Nstbrowser теперь доступно решение CAPTCHA с поддержкой 5 типов CAPTCHA.

Подробнее

🚀

Платформенный прокси запущен в Nstbrowser — встроенные прокси из$0.4/GB.

Начать сейчас

  • Цены
  • Документация
RU
Контакт

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Продукт

Браузер с защитой от отпечатков пальцев
Nstbrowser RPA
AI Agent Skills
Прокси
Обход Cloudflare
Веб-разблокировщик

Решение

Облачный браузер для защиты от отпечатков пальцев
Управление несколькими аккаунтами
Веб-скрапинг
Решения против обнаружения ботов
Изоляция данных для безопасности предприятия
Проверка IP для Claude AI

Ресурс

Цены
Скачать
Торговая площадка RPA
Партнерская программа
Партнеры
Блоги
Примечания к выпуску

Поддерживать

Контакт

Документация

Юридический

Условия
политика конфиденциальности
Политика использования файлов cookie

ПродуктРешениеРесурсПоддерживатьЮридический

ПродуктРешениеРесурс

ПоддерживатьЮридический

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Назад к блогу
java веб-скрепинг
Web Scraping

Веб-скраппинг с помощью Java в 2024 году - самое подробное руководство

Это руководство посвящено веб-скрапингу с помощью Java в 2024 году. В нем представлено подробное пошаговое руководство. Начните изучать прямо сейчас!
May 09, 2024Luke Ulyanov

Базовый самоучитель по веб-скрапингу

Это руководство посвящено веб-скраппингу с помощью Java в 2024 году. В нем дается пошаговое руководство по извлечению данных с веб-сайтов на примере сайта ScrapeMe. Используя Java и библиотеку jsoup, вы научитесь скрести статические ресурсы веб-страниц и извлекать специфическую информацию, такую как названия товаров, изображения, цены и подробности.

Это руководство даст вам необходимые навыки для сбора данных с аналогичных веб-сайтов и послужит основой для более продвинутых методов веб-скрепинга.

Будьте готовы использовать возможности Java для веб-скрепинга в современную эпоху!

Требования к окружению:

Важно отметить, что поскольку в этой статье мы будем использовать Java для демонстрационного проекта, перед началом работы убедитесь, что у вас есть следующие предварительные условия:

Рекомендуемая среда:

  • Java: Любая версия 8+ LTS
  • Инструменты сборки: Любая версия Gradle или Maven, совместимая с вашей локальной версией Java.
  • IDE: Любая из предпочитаемых вами, например Eclipse, IntelliJ IDEA, VS Code.

Примечание: Процесс установки среды опускается.

Пример окружения:

JDK 21

javascript Copy
# java -version
java version "21.0.2" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 21.0.2+13-LTS-58)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.2+13-LTS-58, mixed mode, sharing)

Инструмент для сборки: Gradle

javascript Copy
# gradle -version
Gradle 8.7

Build time: 2024-03-22 15:52:46 UTC
Revision: 650af14d7653aa949fce5e886e685efc9cf97c10

Kotlin: 1.9.22
Groovy: 3.0.17
Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM: 21.0.2 (Oracle Corporation 21.0.2+13-LTS-58)
OS: Mac OS X 14.4.1 aarch64

IDE: IntelliJ IDEA

Создание проекта:

Информация о проекте

Информация о проекте

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

выражение проекта

Добавлены зависимости, и на данный момент достаточно jsoup (jsoup: Java HTML Parser):

javascript Copy
// gradle => build.gradle => dependencies
implementation 'org.jsoup:jsoup:1.17.2'

Давайте поскребем ScrapeMe!

Теперь самое время поскрести сайт! Здесь я пройдусь по ScrapeMe, просто для примера. Вы можете просмотреть весь прогресс, а затем завершить свой проект.

Анализ целевого сайта:

Сначала давайте посмотрим на данные, которые мы хотим соскрести с сайта Scrapeme. Откройте сайт в браузере и просмотрите исходный код, чтобы проанализировать целевые элементы. Затем извлеките нужные элементы с помощью кода.

ScrapeMe Homepage Список продуктов:

ScrapeMe Homepage Список продуктов

ScrapeMe Подробнее о продукте:

ScrapeMe Подробнее о продукте
Наша цель - расшарить на главной странице информацию об этих продуктах, включая название продукта, изображения продукта, его цену и адрес для подробной информации о продукте.

Анализ исходного кода страницы

Элементы страницы

Анализируя элементы страницы, мы знаем, что на текущей странице есть все элементы страницы товара: ul.products, и каждый элемент детализации товара: li.product.

Анализ элементов страницы ScrapeMe

Детали продукта

Дальнейший анализ показывает, что название продукта: a h2, изображение продукта: a img.src, цена продукта: a span, адрес подробностей продукта: a.href.

Подробная информация о продукте ScrapeMe

Демонстрация кода

ScrapeMeProduct.java

java Copy
public class ScrapeMeProduct {
  /**
   * product detail url
   */
  private String url;
  /**
   * product image
   */
  private String image;
  /**
   * product name
   */
  private String name;
  /**
   * product price
   */
  private String price;

  // Getters and Setters
  
  @Override
  public String toString() {
    return "{ \"url\":\"" + url + "\", "
        + " \"image\": \"" + image + "\", "
        + "\"name\":\"" + name + "\", "
        + "\"price\": \"" + price + "\" }";
  }
}

Scraper.java

java Copy
import org.jsoup.*;
import org.jsoup.nodes.*;
import org.jsoup.select.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Scraper {
  // scrapeme site url
  private static final String SCRAPEME_SITE_URL = "https://scrapeme.live/shop";

  public static List<ScrapeMeProduct> scrape() {
    // html doc for scrapeme page
    Document doc;
    // products data
    List<ScrapeMeProduct> pokemonProducts = new ArrayList<>();
    try {
      doc = Jsoup.connect(SCRAPEME_SITE_URL)
          .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36") // mock userAgent header
          .header("Accept-Language", "*") // mock Accept-Language header
          .get();
      // select product nodes
      Elements products = doc.select("li.product");
      for (Element product : products) {
        ScrapeMeProduct pokemonProduct = new ScrapeMeProduct();
        pokemonProduct.setUrl(product.selectFirst("a").attr("href")); // parse and set product url
        pokemonProduct.setImage(product.selectFirst("img").attr("src")); // parse and set product image
        pokemonProduct.setName(product.selectFirst("h2").text()); // parse and set product name
        pokemonProduct.setPrice(product.selectFirst("span").text()); // parse and set product price
        pokemonProducts.add(pokemonProduct);
      }
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
    return pokemonProducts;
  }
}

Main.java

java Copy
import io.xxx.basic.ScrapeMeProduct;
import io.xxx.basic.Scraper;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<ScrapeMeProduct> products = Scraper.scrape();
    products.forEach(System.out::println);
    // continue coding
  }
}

Результаты Экспрессия

выражение результатов соскоба

Заключение

До сих пор мы научились использовать Java для простого статического ползания по страницам, дальше мы будем продвигаться на этой основе, используя Java для одновременного ползания по ScrapeMe, прежде всего по данным о продуктах, а также использовать Java-код, подключенный к браузеру Nstbrowser для ползания данных, потому что в продвинутой главе будет использоваться Nstbrowser в безголовом браузере и другие возможности.

Больше
скрейпинг веб-сайтов с помощью Colly
Web Scraping
Как сделать веб-скрэйпинг на Golang с помощью Colly?
Golang – один из самых мощных инструментов для веб-скрапинга. И Colly очень помогает при работе с Go. Прочитайте этот блог и узнайте самую подробную информацию о Colly, а также о том, как скрапить сайты с помощью Colly.
Sep 30, 2024Luke Ulyanov
Java web Crawler
Web Scraping
Web Crawler на Java: пошаговое руководство 2024
Java web Crawler помогает легко выполнять задачи веб-скрапинга и автоматизации. Как выполнять веб-скрапинг с помощью Java web Crawler? Здесь есть все, что вам понравится!
Aug 16, 2024Vasilisa Samsonova
scrapy vs beautifulsoup
Web Scraping
Scrapy vs Beautifulsoup - кто из них вам больше подходит?
Scrapy vs BeautifulSoup, в чем сходства и различия? Что лучше для вас? Узнайте в этом блоге.
Jul 31, 2024Luke Ulyanov
антидетекторный браузер
Web Scraping
Лучший браузер-антидетектор для веб-скрапинга 2024
Браузер-антиопределитель поможет вам скрыть отпечаток пальца браузера при соскабливании веб-страницы. Это действительно упрощает ваши задачи. Читайте этот блог и узнайте больше!
Jul 19, 2024Vasilisa Samsonova
Urllib, Urllib3, Requests
Web Scraping
Urllib vs Urllib3 vs Requests: какой из них лучше всего подходит для парсинга веб-страниц?
Urllib, urllib3 и Requests — три замечательные и распространенные библиотеки Python. В чем разница между этими тремя? Прочтите эту статью и найдите тот, который подойдет именно вам!
Jul 17, 2024Luke Ulyanov
Ошибка 403
Web Scraping
Ошибка 403 Forbidden: Что это такое? Как ее исправить?
Ошибка 403 очень раздражает! Что такое ошибка 403 forbidden? Как ее решить? В этом блоге есть все.
Jul 12, 2024Robin Brown
Каталог