Як отримати ціни, дані та зображення товарів Walmart
Walmart Inc. - американська роздрібна корпорація. У пошуку Google є приблизно 34 мільйони сторінок
Walmart.com. Це переважно споживчі товари. Зі сторінок цього сайту можна отримати опис товару,
зображення, ціну, відгуки тощо. У цьому tutorial я покажу, як швидко й легко налаштувати Walmart.com web
scraping і отримати великий обсяг даних про товари в певній категорії.
Щоб витягти дані з цього сайту, потрібні proxy, налаштований Selenium і пошукова система Kavunka. Ми отримаємо
такі дані:
- NAME - назва товару;
- BRAND - бренд виробника;
- IMAG - зображення;
- PRICE - ціна;
- RATING - рейтинг;
- DESCR - опис товару;
- CREV - відгуки покупців;

Подивімося HTML-код цієї сторінки (Ctrl + A, потім ліва кнопка миші та View Selection
Source). Може здатися, що браузер завис, але потрібно трохи зачекати. Тепер знайдемо назву
вебкамери "Webcam 1080P with Microphone HD Web Cam Vitade 826M USB Video Camera". Назва товару є в багатьох
місцях, але я знайшов JSON-рядок, що містить нашу вебкамеру та іншу інформацію.
Це удача - тепер отримати дані з цього сайту буде значно простіше. Перейдімо в admin panel пошукової системи
на вкладку "TESTER" і скористаймося "Regular expressions designer". Далі заповнимо поля, як показано на зображенні.

Регулярні вирази

У результаті ми отримали регулярний вираз для NAME
Step 1:
Для решти полів робимо те саме. У результаті отримаємо такі регулярні вирази. Покрокове використання регулярних виразів дозволяє виконувати Walmart scraping швидко й точно.
BRAND
Step 1:
IMAG
Step 1:
PRICE
Step 1:
RATING
Step 1:
DESCR
Step 1:
CREV
Step 1:
Step 1:
(?<="productName":").*?(?=")
Для решти полів робимо те саме. У результаті отримаємо такі регулярні вирази. Покрокове використання регулярних виразів дозволяє виконувати Walmart scraping швидко й точно.
BRAND
Step 1:
(?<=class="prod\-brandName)[\w\W]*?(?=</a><h1)
IMAG
Step 1:
(?<=<meta\ property="og:image"\ content=")[\w\W]*?(?=")
PRICE
Step 1:
(?<=itemprop="price"\ content=").*?(?=")
RATING
Step 1:
(?<=itemprop="price"\ content=").*?(?=")
DESCR
Step 1:
(?<=<div\ class="about\-desc)[\w\W]*?(?=</div)
CREV
Step 1:
(?<=<div\ class="review\-text">)[\w\W]*?(?=</div>)
Налаштування сканування
Використовувати Selenium: Так
Затримка (сек.): 3
Parse Everything: Ні
Min. "gf": 7 (gf - кількість заповнених полів; якщо параметр gf нижчий за вказаний, сторінку не буде збережено)
User-Agent: (це поле заповнюється автоматично)
Priority Anchors: Webcam, Video Camera, Web Cam (якщо crawler зустріне посилання з цими словами, воно буде оброблене першим).
Priority URLs: /ip/ (якщо URL містить ці символи, його буде проскановано першим).
Збережіть шаблон і перейдіть на вкладку "TASKS", потім додайте завдання для Octopus, Worder та KAVUNKA (reload). Після завершення сканування завантажте дані з сайту walmart.com (кнопка DATA на вкладці "SITES").
Затримка (сек.): 3
Parse Everything: Ні
Min. "gf": 7 (gf - кількість заповнених полів; якщо параметр gf нижчий за вказаний, сторінку не буде збережено)
User-Agent: (це поле заповнюється автоматично)
Priority Anchors: Webcam, Video Camera, Web Cam (якщо crawler зустріне посилання з цими словами, воно буде оброблене першим).
Priority URLs: /ip/ (якщо URL містить ці символи, його буде проскановано першим).
Збережіть шаблон і перейдіть на вкладку "TASKS", потім додайте завдання для Octopus, Worder та KAVUNKA (reload). Після завершення сканування завантажте дані з сайту walmart.com (кнопка DATA на вкладці "SITES").