Skip to content

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

License

Notifications You must be signed in to change notification settings

ronknight/google-trends

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Overview • Features • Prerequisites • How to Use • Example Output • Visualization • Error Handling • License

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages