Skip to content

Latest commit

 

History

History
116 lines (84 loc) · 4.83 KB

README.md

File metadata and controls

116 lines (84 loc) · 4.83 KB

🔧 A Python-based script to compare the popularity of multiple keywords using Google Trends data.

OverviewFeaturesPrerequisitesHow to UseExample OutputVisualizationError HandlingLicense

Overview

This Python script allows you to compare the popularity of two or three keywords over a specified timeframe using Google Trends data. The script fetches interest over time for the provided keywords and visualizes the trends using matplotlib, saving the comparison as a plot image.

Features

  • Compare the search interest of 2 or 3 keywords over a custom time period.
  • Supports multiple timeframes, including the past 7 days, past 12 months, and custom date ranges.
  • Outputs a visual plot of the trends, saved as a .png image.
  • Uses the Google Trends API (pytrends) to fetch real-time or historical trend data.
  • Handles rate-limiting with an optional delay between requests to avoid being blocked by Google.

Prerequisites

Before running the script, ensure you have the following Python packages installed:

  • pytrends
  • matplotlib
  • pandas

You can install the required packages using:

pip install pytrends matplotlib pandas

How to Use

  1. Run the script by passing at least two required keywords and an optional third keyword. Additionally, you can specify a timeframe.

  2. Command-line Usage:

    python google_trends_compare.py <keyword1> <keyword2> [--keyword3 <keyword3>] [--timeframe <timeframe>]
    • <keyword1>: The first keyword for comparison.
    • <keyword2>: The second keyword for comparison.
    • --keyword3 <keyword3>: (Optional) A third keyword to compare.
    • --timeframe <timeframe>: (Optional) Specify the time range for comparison. Defaults to today 12-m.
  3. Timeframe Options:

    • now 1-d: The last 24 hours.
    • now 7-d: The last 7 days.
    • today 12-m: The past 12 months.
    • Custom timeframe using YYYY-MM-DD YYYY-MM-DD format, for example: "2020-01-01 2024-01-01".
  4. Example Commands:

    Compare two keywords ("Python" and "Java") over the last 7 days:

    python google_trends_compare.py "Python" "Java" --timeframe "now 7-d"

    Compare three keywords ("spiderman", "batman", "superman") over the last 12 months:

    python google_trends_compare.py "spiderman" "batman" --keyword3 "superman" --timeframe "today 12-m"
  5. Output:

    • The script will save a plot of the trends as google_trends_comparison.png in the current working directory.

Example Output

The script generates a comparison plot of the search trends, such as the one below:

Example Plot

Visualization

The flow of the Google Trends Comparison Script is visualized below using Mermaid:

graph TD
    A[User Input: Keywords & Timeframe] --> B[Script Initialization]
    B --> C[Fetch Data from Google Trends API using pytrends]
    C --> D[Handle Rate-Limiting]
    D --> E[Process and Clean Data using Pandas]
    E --> F[Generate Comparison Plot with Matplotlib]
    F --> G[Save as PNG]
    G --> H[Output: google_trends_comparison.png]
Loading

Error Handling

  • The script will handle cases where no data is available for the specified keywords.
  • In cases where Google returns a 400 error, the timeframe or keyword formatting may be incorrect.

License

This project is licensed under the MIT License - see the LICENSE file for details.