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.
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 import vibe_search
ai_summary = await vibe_search(query='What is the state of the software development job market in 2025?', domain_count=10, 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibescraper-0.1.1.tar.gz.
File metadata
- Download URL: vibescraper-0.1.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.8.0-52-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d87845bcc108e433d4468fed51bcbc45793b7e15cc938bef9057c375add46cca
|
|
| MD5 |
93a0761b1f15018b23fe13e4a974aa07
|
|
| BLAKE2b-256 |
6fd426bfd31e162a6d38350ea95632f2a12f69588b3629fa372d4a31a93746d7
|
File details
Details for the file vibescraper-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vibescraper-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.8.0-52-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d284ed3283354018b16a73ff8fffe5a4f2da56ae9477c2891dfdaff257126b77
|
|
| MD5 |
1a884f854f68713508a5e1b0eb554cb1
|
|
| BLAKE2b-256 |
4635fa561701d55c0f91296c42703bd54b9eff09c185d0aec3aaf35fbcad59ad
|