Skip to main content

A semantic web scraping and summarization toolkit.

Project description

vibescraper

vibescraper is a Python utility that generates an AI summary of web results based on a search query.

This is very much a work in progress. The results of each search may vary depending on how well the parser handles the pages. If you find that some results are not sufficient, you can try increasing the number of sites to return in the search api using the domain_count argument in the vibe_search function.

The number of sites will slow the operation down, so you may need to experiment and find the optimal tradeoff that suits your needs, between speed and accuracy of results.

In order to select the search api you need to run the following in your projects python environment: - change-search-api <google/brave>

The output files and folders from the search operations can be used or discarded as you need. In future I may change this so that the datbase can be saved or discarded according to an argument flag in the vibe_search function or as part of another python config script.


How it works

  • Web Search: Searched the web using search engine API.
  • Semantic Chunking: Extracts html from each url in the search results, then divides the html page content into meaningful chunks.
  • Embedding Generation: Generate vector embeddings for each chunk using openai embedding models.
  • Similarity Search: Find the most relevant content chunks for a given search query.
  • AI Summarization: Generates concise summaries of relevant content, then combines all summaries into a combined summary.
  • JSON Export: Saves results and summaries as JSON files for easy inspection or downstream use.

Installation

Install via pip (from PyPI):

pip install vibescraper

Or install locally with Poetry:

poetry install

NOTE: You need either a Beave or Google search API key to use this, as well as an open AI API key.

to import the keys into config.py after installing run: check-api-keys

in your python project env.


Requirements

  • Python 3.12+
  • OpenAI API key (for embedding and summarization)
  • Other dependencies: numpy, requests, beautifulsoup4, pandas, sqlalchemy, openai, tiktoken, google-api-python-client, html5lib

Usage

  • Install the package into your python project, then import the vibe_search function
from vibescraper.vibe_search import vibe_search

ai_summary = await vibe_search(query='What is the state of the software development job market in 2025?', domain_count=10, text_model='gpt-4o')

Environment Variables

You must set your OpenAI API key (and either a Google or Brave yea keys) as environment variables


License

MIT License


Contributing

Pull requests and issues are welcome!


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibescraper-0.1.4.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibescraper-0.1.4-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file vibescraper-0.1.4.tar.gz.

File metadata

  • Download URL: vibescraper-0.1.4.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.11.0-21-generic

File hashes

Hashes for vibescraper-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a578538a672bf9f11e138f362ed54942301c4dc119f6bf022a5d980a28096f35
MD5 124b33b4a5ccec6b54c1a363598a621e
BLAKE2b-256 978bebfd6ef864fe9bf5dc0c5cf96e9c35f7d0b4d6762e46eecb7521ffcc671a

See more details on using hashes here.

File details

Details for the file vibescraper-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: vibescraper-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.11.0-21-generic

File hashes

Hashes for vibescraper-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 db522143a8d23429f62a3fcf3b48f1eabbc9a7838456ca7516064b341fc4d297
MD5 8b0e8d7d34e3d17d5244d71998d1908e
BLAKE2b-256 c436985c739c087fbd74be8bd88c5c22bb47c9c177141e3c24940498fae7b92c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page