Back to skills
extension
Category: Productivity & OfficeNo API key required

free_google_search_with_browser

Search Google using scrapling and return structured results (title, link, snippet). Invoke when user asks to search Google or find information online. Your d...

personAuthor: qipengguohubclawhub

Google Search

This skill searches Google using a stealthy fetcher and returns structured results suitable for LLM consumption.

Usage

Run the python script google_search.py with the query as an argument.

python google_search.py "<query>"

File Structure

  • google_search.py: The main script. It uses scrapling to perform the Google search. It launches a browser instance to fetch results, ensuring high success rates by mimicking real user behavior.
  • verify_search.py: A debugging script. It runs a predefined set of queries to verify that the search functionality works correctly.
  • requirements.txt: Lists the Python dependencies required for the project.

Requirements

  • Python 3
  • scrapling package installed (with playwright and curl_cffi dependencies)

To install dependencies:

pip install -r requirements.txt
playwright install  # Required for browser automation. If slow, consider downloading manually.

Notes & Troubleshooting

Browser Environment (Headless=False)

This skill is configured to run with headless=False (see google_search.py). This means:

  1. GUI Required: The environment where this code runs must support a Graphical User Interface (GUI). It will launch a visible browser window.
  2. No Headless Servers: It will likely fail on headless servers (like standard CI/CD runners or SSH-only servers) unless X11 forwarding or a virtual display (like xvfb) is configured.

Debugging with verify_search.py

If you encounter issues or want to test if the setup is working:

  1. Run python verify_search.py.
  2. This script will execute several test queries (e.g., "python tutorial", mixed English/Chinese).
  3. Watch the browser window to see if it opens and loads Google results.
  4. Check the console output for success messages or error logs.