Baidu, более известный как «китайский Google», — ведущая поисковая система, которой пользуется большинство людей в Китае. Если вас интересуют такие вещи, как рыночные тенденции, SEO-исследования или просто интересуют популярные в Китае тренды, получение данных от Baidu практически обязательно.
Итак, в этом блоге мы покажем вам простой способ парсинга Baidu с помощью Python и CrawlbaseИспользуя такие инструменты, больше нет необходимости создавать и управлять прокси-серверами вручную: для этого достаточно простого скрипта.
Начните свой зарегистрируйтесь и получите бесплатные кредиты на пробу Crawlbase сейчас.
Содержание
- Анализ результатов поиска Baidu: обзор
- Настройка Crawlbase и среда кодирования
- Как сканировать и собирать данные Baidu
- Советы по парсингу Baidu
- Часто задаваемые вопросы (FAQ)
Анализ результатов поиска Baidu: обзор
Мы объединим два основных инструмента для извлечения данных из Baidu, обычно называемого китайско-английской поисковой системой: Crawlbase и BeautifulSoup.
CrawlbaseАвтора Crawling API Позволяет избегать блокировок при сканировании веб-сайтов. Сервис использует все необходимые методы, такие как ротация IP-адресов, обработка CAPTCHA и имитация реальных браузеров, для обеспечения успеха проекта. Это означает, что вам не нужен сложный парсер, имитирующий поведение человека. Вам нужно отправить URL-адрес Crawlbase и получите полный HTML-ответ.
Получив HTML, мы обратимся к BeautifulSoup для парсинга. Это библиотека Python, которая упрощает парсинг веб-страниц, позволяя быстро и легко находить и извлекать нужную информацию. Вы можете выбрать любые нужные теги или классы, почти как с помощью привычных селекторов CSS. Это делает скрипт простым и понятным для всех.
С помощью создаваемого нами парсера мы сосредоточимся на трёх ключевых областях страницы результатов поиска Baidu. Давайте рассмотрим это. пример URL-адреса Baidu.
Откройте страницу в браузере и осмотрите следующие элементы (щелкните правой кнопкой мыши → Проверить):
- Результаты поиска: Вы можете найти это внутри
divс классомtitle-box_4YBsjс последующимh3тег с классомt.

- Похожие Запросы: Они находятся внутри
tableс классомrs-table_3RiQc, перемещаясь по егоtrиtdтеги для получения ссылок.

- Пагинация: Чтобы загрузить больше результатов, мы увеличиваем параметр запроса pn в URL-адресе на число, кратное 10 (например,
pn=10,pn=20И т.д.).
Настройка Crawlbase и среда кодирования
- Перейдите на Crawlbase чтобы создать учетную запись и войти в систему.
- Ваши первые 1,000 запросов будут бесплатными. Если вы хотите получить ещё 9,000 запросов бесплатно, просто добавьте ваши платежные реквизиты до использования любого из бесплатных начальных кредитов.
- Получите свой ключ API или Обычный токен запроса. Мы будем использовать его для сканирования Baidu.
Затем настройте среду Python:
- Установите Python 3 установлен.
- Откройте терминал и установите необходимые библиотеки:
1 | Pip запрашивает установку beautifulsoup4 |
Вот и всё. Теперь вы готовы приступить к написанию скрапера.
Как сканировать и извлекать результаты поиска Baidu
Теперь ваши основные инструменты готовы. Давайте создадим простой скрипт для извлечения HTML-кода с помощью Crawlbase. Это можно сделать с помощью следующих шагов:
Шаг 1: Обрабатывайте блоки и CAPTCHA с помощью Crawlbase
Создайте новый файл с именем crawling.pyи добавьте следующий код:
1 | от запросы.исключения Импортировать ЗапросИсключения |
Что делает этот скрипт:
- Определяет
crawl()функция, которая принимает целевой URL. - Пользы
requestsчтобы отправить запрос GET на Crawlbase API. - Принимает ваш Обычный токен запроса для аутентификации запроса. Так что не забудьте его изменить.
- Проверяет, что исходная страница вернула 200 ОК Статус.
- Возвращает полное HTML-содержимое текста ответа.
Этот скрипт позволяет вам легко получить доступ к любой общедоступной веб-странице, при этом Crawlbase решает такие проблемы, как блокировка, CAPTCHA и ограничения скорости.
Шаг 2: Извлечение HTML с помощью Beautifulsoup
Мы будем использовать BeautifulSoup для извлечения необходимых данных со страницы результатов поиска Baidu для этого шага, которые берутся из необработанного HTML-кода, полученного с помощью Crawlbase.
Итак, создайте файл с названием scraping.py и добавьте следующий код:
1 | от bs4 Импортировать КрасивыйСуп |
Что делает этот скрипт:
- Анализирует HTML с помощью
BeautifulSoup. - Извлекает следующие данные:
- Страница
<title>тег. - Поисковый запрос из поля ввода с названием «wd».
- Заголовки результатов поиска и URL-адреса из
div.title-box_4YBsj h3.t. - Похожие ссылки поиска из
table.rs-table_3RiQc tr td a.
- Страница
- Возвращает данные в понятном, структурированном формате, который вы можете использовать или сохранить.
Шаг 3: Объедините свои сценарии
Теперь, когда у нас готовы скрипты сканирования и извлечения данных, пришло время собрать все воедино и посмотреть результаты.
Сохраните следующее в файле с именем main.py:
1 | от ползком Импортировать ползать |
Что делает этот скрипт:
- Использует ваш
crawl()Функция для извлечения HTML-контента результатов поиска Baidu по запросу «苹果 iPhone». - Передает HTML-код
scrape_html()для извлечения структурированных данных. - Преобразует результат в наглядно оформленный JSON и отображает его в консоли.
Шаг 4: Запуск основного скрипта
На терминале выполните:
1 | основной файл Python |
Вы должны увидеть что-то вроде этого:

Этот вывод подтверждает, что ваш сканер и парсер успешно работают вместе, преобразуя необработанный HTML в чистые, пригодные для использования данные.
Краткие советы по сбору результатов поиска Baidu
Вот несколько кратких советов, которые следует иметь в виду, продолжая разработку после настройки поискового парсера Baidu с помощью Python. Crawlbaseи BeautifulSoup:
- Crawlbase Ограничения ставок: Просто помните о предельной частоте запросов по умолчанию — 20 запросов в секунду, чтобы избежать ошибок 429. Если вам нужно отправить больше запросов, чем установлено по умолчанию, свяжитесь с нами. Crawlbase Служба поддержки.
- 5XX коды pc_status: Все коды ошибок 5XX исправляются бесплатно. Если вы столкнулись с такой ошибкой, это обычно означает, что ваш URL заблокирован, не отвечает или в настоящее время недоступен. К счастью, вы можете легко повторить попытку, поскольку это бесплатно.
- Проверка HTML с помощью DevTools: Всегда возвращайтесь на HTML-страницу и проверяйте элементы на наличие изменений в CSS-классах или ошибок в вашем парсере. Это распространённая проблема, но её можно быстро решить.
- Попробуйте другие запросы: Измените URL-адрес поиска Baidu, протестируйте его с другими ключевыми словами и посмотрите, как изменится структура.
- Экспортируйте свои данные: Запишите вывод в
.jsonor.csvфайл с помощьюjson.dump()orcsv.DictWriter()для дальнейшего использования.
Если вы еще этого не сделали, Подписаться на Crawlbase чтобы получить бесплатный API-токен и начать масштабное исследование сети, не подвергаясь блокировкам.
Часто задаваемые вопросы (FAQ):
В: Что такое Crawlbase, и как это помогает при веб-скрапинге Baidu?
Crawlbase — это платформа, ориентированная преимущественно на сбор веб-данных. Она берет на себя все технические аспекты парсинга, такие как изменение IP-адресов, обход защиты от ботов и возврат необработанной веб-страницы в виде чистого HTML-кода, который можно легко использовать в коде. Вам больше не нужно беспокоиться о распространённых препятствиях при парсинге.
В: Могу ли я парсить Baidu с помощью Python?
Да, можно. С помощью запросов и BeautifulSoup вы можете получать страницы результатов поиска и работать с ними. Crawlbase действует как мост, обеспечивая бесперебойную обработку ваших запросов и предотвращая их блокировку.
В: Зачем использовать BeautifulSoup для парсинга поисковой системы Baidu?
BeautifulSoup разработан для извлечения данных с веб-страниц. Даже новичкам будет легко с ним работать. Он также популярен для обработки как чистого, так и сложного HTML-кода, например, результатов поиска.
В: Нужно ли использовать рендеринг JavaScript для парсинга Baidu?
Обычно основной контент Baidu загружается без дополнительных скриптов. Однако, если вы встретите страницу, которая требует их, Crawlbase предлагает вариант JavaScript для обработки сайтов, требующих загрузки в стиле браузера.











