Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•ΈοΈ Web Scraping & Data Analysis using Python

An End-to-End Data Analytics Pipeline for Web Data Extraction, Processing, Visualization, and Insight Generation

Python Pandas BeautifulSoup Matplotlib License


πŸ“– Overview

This project demonstrates a complete end-to-end data analytics workflow using Python, starting from web data extraction and ending with meaningful insights through visualization and sentiment analysis.

The project scrapes product information from the publicly available Books to Scrape website, transforms the raw HTML into structured datasets, performs data preprocessing, explores the data using statistical techniques, and visualizes trends through charts.

It serves as a practical introduction to Web Scraping, Data Cleaning, Exploratory Data Analysis (EDA), Data Visualization, and Basic Sentiment Analysis.


🎯 Project Objectives

  • Extract structured data from web pages using Python
  • Automate web scraping using BeautifulSoup
  • Clean and preprocess raw datasets
  • Perform Exploratory Data Analysis (EDA)
  • Generate meaningful visualizations
  • Classify product sentiment based on ratings
  • Build a reusable data analytics workflow

✨ Features

  • 🌐 Automated Web Scraping
  • πŸ“Š Exploratory Data Analysis (EDA)
  • 🧹 Data Cleaning & Transformation
  • πŸ“ˆ Data Visualization
  • 😊 Rating-Based Sentiment Analysis
  • πŸ“‚ CSV Dataset Generation
  • πŸ“‰ Statistical Insights

πŸ—οΈ Project Structure

Web-Scraping-and-Data-Analysis-using-Python/
β”‚
β”œβ”€β”€ Task_1.py                  # Web Scraping
β”œβ”€β”€ Task_2.py                  # Data Cleaning
β”œβ”€β”€ Task_3.py                  # Data Visualization
β”œβ”€β”€ Task_4.py                  # Sentiment Analysis
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ books_data.csv
β”‚   └── books_with_sentiment.csv
β”‚
β”œβ”€β”€ outputs/
β”‚   └── rating_chart.png
β”‚
β”œβ”€β”€ report.docx
β”œβ”€β”€ requirements.txt
└── README.md

πŸ› οΈ Technology Stack

Category Technology
Programming Language Python 3
Web Scraping BeautifulSoup4, Requests
Data Processing Pandas
Visualization Matplotlib
Dataset CSV

🌐 Data Source

The project uses the publicly available practice website:

Books to Scrape

http://books.toscrape.com

This website is specifically designed for learning and practicing web scraping techniques.


βš™οΈ Installation

1️⃣ Clone Repository

git clone https://github.com/Rohitkoli1096/Web-Scraping-and-Data-Analysis-using-Python.git

cd Web-Scraping-and-Data-Analysis-using-Python

2️⃣ Install Dependencies

pip install -r requirements.txt

If the requirements file is unavailable:

pip install requests beautifulsoup4 pandas matplotlib

3️⃣ Execute the Project

python Task_1.py

python Task_2.py

python Task_3.py

python Task_4.py

πŸ”„ Project Workflow

Website
    β”‚
    β–Ό
Web Scraping
    β”‚
    β–Ό
Raw Dataset
    β”‚
    β–Ό
Data Cleaning
    β”‚
    β–Ό
Processed Dataset
    β”‚
    β–Ό
Exploratory Data Analysis
    β”‚
    β–Ό
Visualization
    β”‚
    β–Ό
Sentiment Analysis
    β”‚
    β–Ό
Insights & Reports

πŸ“Š Project Outputs

File Description
books_data.csv Raw scraped dataset
books_with_sentiment.csv Dataset with sentiment labels
rating_chart.png Rating distribution visualization
report.docx Project report

πŸ“ˆ Key Insights

  • Most books have ratings between 3 and 5 stars.
  • Positive sentiment accounts for the majority of products.
  • Product prices vary significantly across different categories.
  • Cleaned datasets are ready for further machine learning or business analysis.

😊 Sentiment Classification

Rating Sentiment
⭐⭐⭐⭐⭐ Positive
⭐⭐⭐⭐ Positive
⭐⭐⭐ Neutral
⭐⭐ Negative
⭐ Negative

🚧 Challenges

During development, the following challenges were addressed:

  • Understanding website HTML structure
  • Extracting nested HTML elements
  • Cleaning currency symbols and unwanted characters
  • Handling missing values
  • Organizing scraped data into structured CSV files

πŸš€ Future Enhancements

  • Selenium-based scraping for dynamic websites
  • Scraping multiple pages automatically
  • Export data to SQL databases
  • Interactive dashboards using Power BI or Tableau
  • Machine Learning-based sentiment analysis
  • Scheduled automated scraping
  • Data pipeline automation

πŸ“š Learning Outcomes

This project helped strengthen practical knowledge in:

  • Python Programming
  • Web Scraping
  • Data Cleaning
  • Data Analysis
  • Exploratory Data Analysis (EDA)
  • Data Visualization
  • Working with CSV datasets
  • Python libraries for analytics

πŸ‘¨β€πŸ’» Author

Rohit Devidas Koli

Computer Engineering Student

Python β€’ Data Analytics β€’ Web Scraping β€’ Data Visualization β€’ Machine Learning Enthusiast


🀝 Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push the branch
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License.


πŸ™ Acknowledgements

Special thanks to CodeAlpha for providing the internship opportunity and project guidance that contributed to the development of this project.


⭐ If you found this project useful, please consider giving it a Star!

Made with ❀️ by Rohit Devidas Koli

About

πŸ“Š End-to-end data analytics project using Python: web scraping, EDA, visualization, and sentiment analysis on e-commerce dataset.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages