Получение структурированных данных с популярных сайтов
В этой статье я покажу, как собирать данные с популярных сайтов вроде Amazon, Walmart и Zillow с помощью Скрапинг-API Bright Data. Давайте разберёмся и посмотрим, как это работает.
Важное примечание: я никак не связан с Bright Data, я просто сам использую эту платформу и хотел рассказать о ней другим.
Почему веб-скрапинг может быть сложным
Веб-скрапинг — это техника извлечения данных с веб-сайтов. Проще говоря, она позволяет автоматически собирать структурированную информацию, такую как сведения о товарах, цены, отзывы и т. д., с веб-сайтов. Однако у скрапинга сайтов есть свои сложности. Вот почему:
- Getting Blocked: Многие популярные сайты используют антибот-защиту, чтобы предотвратить скрапинг. Если они обнаружат, что вы собираете данные, они могут заблокировать ваш IP-адрес.
- Complex Websites: Сайты электронной коммерции и недвижимости часто имеют сложную структуру, что затрудняет извлечение нужных данных.
- Constant Maintenance: Парсеры (скрипты, которые извлекают данные) часто ломаются, потому что сайты меняют свой макет или структуру. Это означает, что вы тратите больше времени на исправление этих скриптов, чем на работу над проектом.
Как легко получать структурированные данные с популярных сайтов?
Вот как можно начать собирать структурированные данные с сайтов с помощью Bright Data:
Зарегистрируйтесь и настройте свой аккаунт
Чтобы начать, зайдите на сайт Bright Data и зарегистрируйте учетную запись. После регистрации вы получите доступ к их каталогу API. В каталоге есть разные варианты API в зависимости от сайта, который вы хотите собирать. Bright Data упрощает выбор подходящего API для вашего сценария.
Выберите Website API
После регистрации просмотрите доступные варианты API в каталоге Bright Data. Например, если вы хотите собирать данные о товарах с Amazon, можно выбрать API Amazon Product Information.
Bright Data предлагает API для различных сайтов, включая:
- Amazon: сведения о товарах, отзывы, цены и многое другое.
- Walmart: Каталог товаров, наличие и цены.
- Zillow: Объявления о недвижимости, сведения об объектах, цены и информацию о местоположении.
- Idealista: Данные об объектах недвижимости, объявления и информация об аренде.
Вставьте URL и получите код
Once you’ve chosen the API, you will be prompted to enter the URL or the specific product identifier (e.g., ASIN for Amazon products). After entering the URL, you can click to generate the code in your preferred programming language.
For example, if you want to scrape an Amazon product, you can paste the product URL into the box and then select your programming language (e.g., Python). Bright Data will generate a code snippet for you to copy.
Реализуйте код
После того как у вас будет сгенерированный код, вы сможете внедрить его в свой проект. Ниже приведен пример Python-кода для сбора данных о товарах с Amazon с помощью API Bright Data.
# pip3 install requests
импорт requests
# URL of the product to scrape
url = "https://www.amazon.com/Logitech-920-002478-K120-USB-Keyboard/dp/B003ELVLKU?th=1"
# Your Bright Data API key
apikey = ""
# Parameters to pass to the API
параметры = {
"apikey": apikey,
"url": url,
}
# Make a request to the Bright Data API
response = requests.get("https://ecommerce.api.brightdata.com/v1/targets/amazon/products/", params=params)
# Print the response text (structured data in JSON format)
печать(response.text)
Get Structured Data
Когда вы запустите скрипт, Bright Data API вернёт данные в структурированном формате, например JSON. Вот пример данных, которые вы можете получить от Amazon:
{
"amazon_choice": true,
"availability_status": "In Stock",
"badge": "Amazon's Choice",
"brand": "Logitech",
"buybox_seller": "Amazon.com",
"category_breadcrumb": [
"Electronics",
"Computers & Accessories",
"Computer Accessories & Peripherals",
"Keyboards, Mice & Accessories",
"Keyboards"
],
"is_available": true,
"manufacturer": "Logitech",
"parent_asin": "B0CZXVN37Q",
"price_currency_code": "USD",
"price_currency_symbol": "$",
"product_description": "With comfortable, quiet typing, a sleek yet sturdy design…",
"product_images": [
"https://m.media-amazon.com/images/I/61j3wQheLXL._AC_SL1500_.jpg",
"https://m.media-amazon.com/images/I/61j3wQheLXL.__AC_SX300_SY300_QL70_FMwebp_.jpg"
],
"product_model_number": "920–002478",
"product_name": "Logitech K120 Wired Keyboard",
"product_price": 12.34,
"product_price_before_discount": 12.99,
"product_top_review": "Great keyboard for the price…",
"product_url": "https://www.amazon.com/Logitech-920-002478-K120-USB-Keyboard/dp/B003ELVLKU",
"rating_score": 4.6,
"review_count": 7888,
"sku": "B003ELVLKU"
}
Как видите, данные четко структурированы и упорядочены. В формате JSON вы легко получите название товара, цену, отзывы, наличие, изображения и многое другое. Это упрощает анализ и интеграцию данных в ваши проекты.
Преимущества использования Bright Data для веб-скрапинга
- Bypass Anti-Bot Measures: Bright Data позволяет собирать данные с сайтов, не беспокоясь о блокировках. Он сам обрабатывает прокси и CAPTCHA.
- No Configuration Needed: После настройки API-ключа вы сможете собирать данные с минимальными усилиями.
- Structured Data: Получайте данные в хорошо структурированном формате (JSON), который легко использовать и интегрировать.
- Supports Multiple Websites: Bright Data поддерживает сбор данных с разных сайтов, включая Amazon, Walmart, Zillow и Idealista.
- Экономия времени и усилий: Bright Data сокращает время, которое уходит на поддержку парсеров и разбор неработающих скриптов. Вы сможете сосредоточиться на анализе данных, а не на исправлении проблем.
Сценарии использования структурированных данных
Структурированные данные, которые вы извлекаете с сайтов, можно использовать в различных приложениях. Вот несколько примеров:
- Price Comparison: Сравнивайте цены на товары на разных e-commerce-сайтах.
- Market Research: Собирайте данные о наличии товаров, ценовых трендах и отзывах для конкурентного анализа.
- Real Estate Analysis: Собирайте сведения об объектах недвижимости, такие как цены, площади и местоположение, для проектов в сфере недвижимости.
- Product Review Aggregation: Собирайте отзывы и оценки товаров из разных источников, чтобы принимать обоснованные решения о покупке.
Заключение
Scraping data from popular websites doesn’t have to be hard or take up a lot of time. With the right tools, like an API, you can easily gather structured data from sites like Amazon, Walmart, and Zillow without worrying about getting blocked or fixing broken parsers. The setup is simple; you get clean data in a well-organized JSON format. This makes it easy to use the data in your projects right away. Whether you’re working on e-commerce analysis, market research, or real estate, the right tool helps you gather the data quickly and accurately.

