Webspot
Webspot is an intelligent web service to automatically detect web content and extract information from it.
Screenshots
Detected Results
Extracted Fields
Extracted Data
Get Started
Docker
Make sure you have installed Docker and Docker Compose.
# clone git repo
git clone https://github.com/crawlab-team/webspot
# start docker containers
docker-compose up -d
Then you can access the web UI at http://localhost:9999.
API Reference
Once you started Webspot, you can go to http://localhost:9999/redoc to view the API reference.
Architecture
The overall process of how Webspot detects meaningful elements from HTML or web pages is shown in the following figure.
graph LR
hr[HtmlRequester]
gl[GraphLoader]
d[Detector]
r[Results]
hr --"html + json"--> gl --"graph"--> d --"output"--> r
Development
You can follow the following guidance to get started.
Pre-requisites
- Python >=3.8 and <=3.10
- Go 1.16 or higher
- MongoDB 4.2 or higher
Install dependencies
# dependencies
pip install -r requirements.txt
Configure Environment Variables
Database configuration is located in .env file. You can copy the example file and modify it.
cp .env.example .env
Start web server
# start development server
python main.py web
Code Structure
The core code is located in webspot directory. The main.py file is the entry point of the web server.
webspot
├── cmd # command line tools
├── crawler # web crawler
├── data # data files (html, json, etc.)
├── db # database
├── detect # web content detection
├── graph # graph module
├── models # models
├── request # request helper
├── test # test cases
├── utils # utilities
└── web # web server
TODOs
Webspot is aimed at automating the process of web content detection and extraction. It is far from ready for production use. The following features are planned to be implemented in the future.
- Table detection
- Nested list detection
- Export to spiders
- Advanced browser request
Disclaimer
Please follow the local laws and regulations when using Webspot. The author is not responsible for any legal issues caused by. Please read the Disclaimer for details.
Community
If you are interested in Webspot, please add the author's WeChat account "tikazyq1" noting "Webspot" to enter the discussion group.
Metadata
Release files for webspot 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| webspot-0.1.4.tar.gz | 34.3 kB | Without provenance | Details for webspot-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| webspot-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for webspot-0.1.4-py3-none-any.whl |
Total release size: 82.2 kB
Release files / webspot-0.1.4.tar.gz
| Download URL | webspot-0.1.4.tar.gz |
|---|---|
| Size | 34.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1d2a1241d4f4d78f6f954b2b26947f89c72bbfb40392ccd50ef38f2f5bbd76e
|
|
BLAKE2b-256 checksum How to use checksums |
63afaf638f6fdfe3b38ef11618cb22ff29f84198f6ae71f51eba7dccf0519e56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / webspot-0.1.4-py3-none-any.whl
| Download URL | webspot-0.1.4-py3-none-any.whl |
|---|---|
| Size | 47.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20a206ecc0c9c989b56acb32c722a410b1f83f14224dca3be3950e047fe95d92
|
|
BLAKE2b-256 checksum How to use checksums |
02ac0421ad36913da9dfd2bb4afa7e8fdb3d05a84e5a3fddc8fe2fff84c0dad8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Security for webspot 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.