Веб-скрапинг извлекает данные с веб-сайтов, но часто требует написания сложной логики для извлечения чистой, структурированной информации. С Gemini AI этот процесс становится проще и быстрее. Gemini может понимать и извлекать ключевые детали из необработанного контента, используя естественный язык. Это отличный инструмент для интеллектуального скрапинга.

В этом блоге вы узнаете, как использовать Gemini AI для веб-скрапинга в Python шаг за шагом. Мы проведем вас через настройку среды, извлечение HTML, его очистку и позволим Gemini выполнить тяжелую работу. Независимо от того, создаете ли вы небольшой скрапер или масштабируете его, это руководство поможет вам начать скрапинг с использованием ИИ правильно.

Содержание

  1. Что такое Gemini AI и зачем его использовать для веб-скрапинга?
  2. Настройка среды
  • Установка Python
  • Создание виртуальной среды
  • Настроить Близнецов
  1. Пошаговое руководство по созданию веб-скрейпера на базе Gemini
  • Отправка HTTP-запроса
  • Извлечение определенных разделов с помощью BeautifulSoup
  • Преобразование HTML в Markdown для повышения эффективности ИИ
  • Отправка очищенного Markdown в Gemini для извлечения данных
  • Экспорт результатов в формате JSON
  1. Проблемы и ограничения Gemini AI при веб-скрапинге
  2. Как Crawlbase Умный прокси-сервер ИИ поможет вам масштабироваться
  3. Заключение
  4. FAQ

Что такое Gemini AI и зачем его использовать для веб-скрапинга?

Gemini AI — это большая языковая модель (LLM) от Google. Она может понимать естественный язык, читать веб-контент и извлекать значимые данные из текста. Это делает ее очень полезной для веб-скрапинга с помощью Python, когда вы хотите извлечь чистые и структурированные данные из запутанного HTML.

Почему стоит выбрать Gemini AI для веб-скрапинга?

Традиционные веб-скрейперы используют селекторы CSS или XPath для извлечения контента. Однако веб-сайты часто обновляют свою структуру, и ваш скрейпер устаревает. С Gemini AI вы можете описать, какие данные вам нужны (например, «получить все названия продуктов и цены»), и ИИ вычислит их, как это сделал бы человек.

Преимущества использования Gemini AI для парсинга:

  • Меньше кода: Вам не нужно писать сложную логику для очистки или форматирования данных.
  • Более умный скрапинг: Gemini понимает естественный язык, что позволяет ему находить данные, даже если HTML плохо структурирован.
  • Гибкий Подход: Работает на многих различных веб-сайтах с минимальными изменениями кода.

В следующем разделе мы покажем вам, как настроить среду и начать работу с Python.

Настройка среды

Прежде чем начать парсить веб-сайты с помощью Gemini AI и Python, нам нужно настроить правильную среду. Это включает установку Python, создание виртуальной среды и настройку среды Gemini.

Установка Python

Если у вас еще не установлен Python, загрузите его с сайта Официальном сайте. Убедитесь, что вы установили Python 3.8 или более позднюю версию. Во время установки отметьте галочкой поле «Добавить Python в PATH».

Чтобы проверить, установлен ли Python, откройте терминал или командную строку и выполните:

1
python --version

Вы должны увидеть что-то вроде:

1
Python 3.10.8

Создание виртуальной среды

Хорошей идеей будет хранить файлы проекта в чистоте и отдельно от глобальной установки Python. Это можно сделать, создав виртуальную среду.

В папке вашего проекта запустите:

1
питон -m venv gemini_env

Затем активируйте среду:

  • В Windows:
1
gemini_env\Скрипты\активировать
  • На Mac/Linux:
1
источник gemini_env/bin/активировать

После активации ваш терминал отобразит имя среды, например:

1
(gemini_env) $

Настроить Близнецов

Чтобы использовать Gemini AI для веб-скрейпинга, вам понадобится API-ключ от платформы Gemini от Google. Вы можете получить его, зарегистрировавшись на Google AI-студия.

Получив ключ, сохраните его в .env файл:

1
GEMINI_API_KEY=ваш_ключ_здесь

Затем установите необходимые пакеты Python:

1
pip install google-generativeai python-dotenv запросы beautifulsoup4 markdownify

Эти библиотеки помогают нам отправлять запросы, анализировать HTML, конвертировать HTML в Markdown и взаимодействовать с Gemini.

Теперь ваша среда готова! В следующем разделе мы шаг за шагом создадим веб-скрейпер на базе Gemini.

Пошаговое руководство по созданию веб-скрейпера на базе Gemini

В этом разделе вы узнаете, как создать полноценный веб-скрейпер на базе Gemini в Python. Мы пойдем по шагам — от отправки HTTP-запроса до экспорта собранных данных в формате JSON.

Для копирования мы будем использовать следующий пример страницы:
🔗 Свет на чердаке – Книги, которые нужно почистить

Отправка HTTP-запроса

Сначала мы извлечем HTML-содержимое страницы с помощью requests библиотека.

1
2
3
4
5
6
7
8
9
10
Импортировать Запросы

URL = "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"
ответ = запросы.get(url)

# Проверьте, был ли запрос успешным
if ответ.status_code == 200:
Распечатать(«Страница успешно загружена!»)
еще:
Распечатать(«Не удалось загрузить страницу».)

Извлечение определенных разделов с помощью BeautifulSoup

Чтобы не отправлять ненужный HTML-код в Gemini, мы извлечем только ту часть страницы, которая нам нужна.

Снимок экрана, показывающий HTML-структуру веб-страницы в инструментах разработчика браузера, с выделением определенного раздела для извлечения с помощью BeautifulSoup

В этом случае <article class="product_page"> который содержит подробную информацию о книге.

1
2
3
4
5
6
7
от bs4 Импортировать КрасивыйСуп

суп = КрасивыйСуп(ответ.контент, "html.парсер")

# Извлечь соответствующее содержимое (основные сведения о книге)
main_section = суп.выберите_один("статья.страница_продукта")
main_html = ул(главный_раздел)

Преобразование HTML в Markdown для повышения эффективности ИИ

LLM, такие как Gemini, работают эффективнее и точнее с более чистым вводом. Итак, давайте преобразуем выбранный HTML в Markdown с помощью библиотеки markdownify.

1
2
3
4
5
от маркдаунификация Импортировать маркдаунификация

# Преобразовать HTML в Markdown
main_markdown = markdownify(main_html)
Распечатать(main_markdown)

Это позволяет избавиться от ненужного HTML-нагромождения и сократить количество токенов, отправляемых в Gemini, что позволяет экономить средства и повышать производительность.

Отправка очищенного Markdown в Gemini для извлечения данных

Теперь отправьте очищенный Markdown в Gemini AI и попросите его извлечь структурированные данные, такие как название, цена и состояние запасов.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Импортировать os
от дотенв Импортировать load_dotenv
Импортировать google.generativeai as Genai

# Загрузите свой ключ API из файла .env
load_dotenv()
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))

# Создайте запрос и отправьте его в Gemini
модель = genai.GenerativeModel("gemini-2.0-флэш")

подсказка = ж"""
Извлеките название книги, цену и доступность из следующего контента:

{main_markdown}

Ответ в формате JSON.
«»»

ответ = модель.generate_content(запрос)
извлеченные_данные = ответ.текст

Распечатать(извлеченные_данные)

Экспорт результатов в формате JSON

Наконец, мы сохраним извлеченные данные в .json .

1
2
3
4
5
6
7
8
9
10
Импортировать JSON

# Преобразовать текст ответа в словарь Python
данные = json.loads(извлеченные_данные)

# Сохранить в файл
открытый("book_data.json", "ш") as f:
json.dump(данные, f, отступ=2)

Распечатать(«Данные сохранены в book_data.json»)

Вот и все, ваш веб-скрапер Python на базе Gemini готов!

Полный пример кода

Ниже приведен полный скрипт Python, который объединяет все, от извлечения страницы до сохранения извлеченных данных в формате JSON. Этот скрипт является отличной отправной точкой для создания более продвинутых скраперов на базе ИИ с использованием Gemini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Импортировать Запросы
от bs4 Импортировать КрасивыйСуп
от маркдаунификация Импортировать маркдаунификация
Импортировать google.generativeai as Genai
Импортировать os
Импортировать JSON
от дотенв Импортировать load_dotenv

# Загрузить ключ API Gemini из файла .env
load_dotenv()
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))

# Шаг 1: Отправьте HTTP-запрос
URL = "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"
ответ = запросы.get(url)

if ответ.status_code != 200:
повышение Исключение(«Не удалось загрузить страницу».)

# Шаг 2: Извлечение определенного раздела с помощью BeautifulSoup
суп = КрасивыйСуп(ответ.контент, "html.парсер")
main_section = суп.выберите_один("статья.страница_продукта")
main_html = ул(главный_раздел)

# Шаг 3: Преобразование HTML в Markdown
main_markdown = markdownify(main_html)

# Шаг 4: Используйте Gemini для извлечения структурированных данных
модель = genai.GenerativeModel("gemini-2.0-флэш")
подсказка = ж"""
Извлеките название книги, цену и доступность из следующего контента:

{main_markdown}

Ответ в формате JSON.
«»»

ответ = модель.generate_content(запрос)
извлеченные_данные = ответ.текст

# Шаг 5: Экспортируйте результат в формате JSON
стараться:
данные = json.loads(извлеченные_данные)
открытый("book_data.json", "ш") as f:
json.dump(данные, f, отступ=2)
Распечатать(«Данные сохранены в book_data.json»)
кроме json.JSONDecodeError:
Распечатать(«Не удалось проанализировать ответ от Gemini:»)
Распечатать(извлеченные_данные)

Пример вывода:

1
2
3
4
5
{
"заглавие": «Свет на чердаке»,
"цена": "51.77 фунта стерлингов",
"доступность": "В наличии (22 шт.)"
}

Проблемы и ограничения Gemini AI при веб-скрапинге

Gemini AI для веб-скрапинга — мощный инструмент, но с некоторыми ограничениями. Изучите их, прежде чем использовать его в реальных проектах по скрапингу.

1. Высокое использование токенов

Gemini взимает плату за токен (фрагмент текста), отправленный и полученный. Если вы отправляете полный HTML страницы, стоимость быстро растет. Вот почему преобразование HTML в Markdown полезно, это уменьшает токены и сохраняет только самое необходимое.

2. Медленнее, чем традиционная очистка

Поскольку Gemini — это модель ИИ, обработка текста и возврат результатов занимает больше времени по сравнению с простыми парсерами HTML. Если вы парсите несколько страниц, скорость станет существенной проблемой.

3. Менее точный для сложных страниц

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

4. Не в режиме реального времени

Gemini требуется время для анализа и возврата ответов, что делает его непригодным для веб-скрапинга в реальном времени, например, для мониторинга цен каждые несколько секунд. Он лучше подходит для случаев использования, где структурированное извлечение данных важнее скорости.

5. Ограничения скорости API

Как и большинство платформ ИИ, Gemini имеет ограничения по скорости. Вы можете отправлять только ограниченное количество запросов в минуту или час. Масштабирование является сложным, если вы не управляете вызовами API или не переходите на платный тарифный план.

Как Crawlbase Умный прокси-сервер ИИ поможет вам масштабироваться

При веб-скрапинге с помощью Gemini AI вы столкнетесь с одной большой проблемой: блокировкой веб-сайтами. Многие сайты обнаруживают ботов и возвращают ошибки или CAPTCHA, когда видят необычное поведение. Вот где Crawlbase На помощь приходит Smart AI Proxy.

Что такое Crawlbase Умный прокси-сервер ИИ?

Crawlbase Умный прокси-сервер ИИ это инструмент, который позволяет вам парсить любой веб-сайт без блокировки. Он вращает IP-адреса, обрабатывает CAPTCHA и извлекает страницы, как настоящий пользователь.

Это особенно полезно, когда вы отправляете запросы со своего скрапера на веб-сайты, которые не допускают ботов.

Преимущества использования Crawlbase Умный ИИ-прокси с Gemini AI

  • Избегайте блокировки IP-адресов: Crawlbase управляет ротацией прокси-серверов для вас.
  • Обход CAPTCHA: Он автоматически решает большинство проблем.
  • Экономия времени: Вам не нужно управлять прокси-серверами.
  • Получите чистый HTML: возвращает готовый к анализу контент, идеально подходящий для обработки с помощью ИИ.

Пример: Использование Crawlbase Умный прокси-сервер ИИ на Python

Вот как получить защищенную страницу с помощью Crawlbase Умный прокси-сервер ИИ перед передачей его в Gemini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Импортировать Запросы
Импортировать время

# Crawlbase Настройка Smart AI Proxy
proxy_url = "http://[электронная почта защищена]: 8012 дюйма
прокси = {"http": proxy_url, "https": proxy_url}

# Целевой URL защищен Cloudflare
URL = "https://example.com/protected-page"

# Ввести задержку, чтобы имитировать поведение человека
время.сна(2) # Подождите 2 секунды, прежде чем сделать запрос

# Отправить запрос через Smart AI Proxy
ответ = запросы.получить(url, прокси=прокси, проверка=Ложь)

# Распечатать ответ
Распечатать(ответ.текст)

Замените _USER_TOKEN_ с твоим настоящим Crawlbase Умный токен AI Proxy.

После получения HTML-кода с помощью Smart AI Proxy вы можете передать его в BeautifulSoup, преобразовать в Markdown и обработать с помощью Gemini AI — точно так же, как мы показали вам ранее в этой статье.

Заключение

Gemini AI делает веб-скрапинг в Python умнее и проще. Он превращает сложный HTML в чистые, структурированные данные с помощью AI. С помощью BeautifulSoup и преобразования Markdown вы можете создать скрапер, который понимает контент лучше, чем традиционные методы.

Для сайтов с блокировками или защитой используйте Crawlbase Умный прокси-сервер ИИ. Вас не заблокируют даже на самых сложных сайтах.

В этом руководстве показано, как:

  • Создание скрапера на базе Gemini на Python
  • Оптимизируйте ввод с помощью HTML в Markdown
  • Очистка от окалины с помощью Crawlbase Умный прокси-сервер ИИ

Теперь вы можете выполнять парсинг умнее, быстрее и эффективнее!

FAQ

В. Могу ли я использовать Gemini AI для парсинга любого веб-сайта?

Да, вы можете использовать Gemini AI для парсинга многих веб-сайтов. Однако некоторые веб-сайты могут иметь защиту от ботов, например, Cloudflare. Для этого вам понадобятся такие инструменты, как Crawlbase Умный прокси-сервер на основе искусственного интеллекта для избежания блокировок и беспрепятственного доступа к контенту.

В. Зачем мне конвертировать HTML в Markdown перед отправкой в ​​Gemini?

Конвертация HTML в Markdown помогает уменьшить размер данных. Это позволяет ускорить процесс ИИ и сократить количество используемых токенов, что экономит ваши деньги, особенно при использовании Gemini AI для крупномасштабных проектов по скрапингу.

В. Лучше ли Gemini традиционных инструментов веб-скрапинга?

Gemini более мощный, когда вам нужно понимание контента на основе ИИ. Традиционные инструменты парсинга извлекают необработанные данные, но Gemini может суммировать, очищать и понимать контент. Лучше всего комбинировать оба метода для наилучших результатов парсинга.