An open API service indexing awesome lists of open source software.

https://github.com/yaroslavshved25/scraping_motion

This project is a Python-based web scraper designed to automatically extract product categories and subcategories from motion.com using Selenium WebDriver and undetected-chromedriver.
https://github.com/yaroslavshved25/scraping_motion

antibot auto-navigation multi-level-category openpyxl python-3 python-script selenium undetected-chrome

Last synced: 3 months ago
JSON representation

This project is a Python-based web scraper designed to automatically extract product categories and subcategories from motion.com using Selenium WebDriver and undetected-chromedriver.

Awesome Lists containing this project

README

          

## 📂 GitHub Project: Motion.com Category Scraper

### 📋 Project Description

This project is a **Python-based web scraper** designed to automatically extract product categories and subcategories from [motion.com](https://www.motion.com/) using **Selenium WebDriver** and **undetected-chromedriver**.

The scraper:

* Navigates through all product categories.
* Loads all subcategories dynamically (even when loaded via AJAX).
* Stores the collected data into an Excel file with organized sheets for each category.

---

## 🚀 Features

* ✅ Dynamic content loading with Selenium
* ✅ Multi-level category scraping
* ✅ Auto-navigation and back-tracking between categories
* ✅ Data export to Excel using `openpyxl`
* ✅ Supports anti-bot protected pages via undetected-chromedriver

---

## 🛠 Technologies Used

* Python
* Selenium
* undetected-chromedriver
* openpyxl

---

## 📦 Installation

1. Clone the repository:

```bash
git clone https://github.com/YaroslavShved25/Scraping_Motion.git
```

2. Install required packages:

```bash
pip install selenium undetected-chromedriver openpyxl
```

3. Update the `chromedriver` path in:

```python
service = Service(executable_path=r'Home/Downloads/chromedriver-mac-x64/chromedriver')
```

to your local chromedriver path.

---

## ⚙️ Usage

Run the script:

```bash
python motion_category.py
```

The results will be saved as:

```
motion.com_sub_categories.xlsx
```

---

## 📂 File Structure

```
├── motion_category.py # Main scraping script
├── README.md # Project description
```

---

## 🔥 Notes

* The scraper uses undetected-chromedriver to bypass basic anti-bot detections.
* This project is intended for **educational and ethical scraping purposes only.**
Always ensure scraping complies with the target website's terms of service.