mirror of
https://github.com/Dvorinka/ZoneramaScraper.git
synced 2026-06-03 20:12:56 +00:00
2.5 KiB
2.5 KiB
Zonerama Scraper (Go + Geziyor)
Blazing-fast JSON API to scrape Zonerama albums and photos using geziyor/geziyor.
- Input: Zonerama profile/link page, e.g.
https://eu.zonerama.com/Fcbizoni/1419417 - Output: JSON listing albums and photos.
- Photo links are normalized to
https://eu.zonerama.com/photos/{photoID}_1500x1000.jpg.
Requirements
- Go 1.22+
Install deps
go get -u github.com/geziyor/geziyor
Run the server
go run ./...
The server listens on http://localhost:8080.
API
See full endpoint reference in API.md.
Endpoints
/zonerama/zonerama-album
Common query parameters
rendered(bool, default:true) — Enable/disable JS rendering. Aliases:no-render=trueorno_render=trueto disable.debug(bool, default:false) — Iftrue, saves fetched HTML intodebuging/and serves at/debuging/.
/zonerama
Scrape albums and their photos starting from a Zonerama profile (account) or page URL.
Params:
link(required): A Zonerama URL (profile or album link)album_limit(int, default:5): Max albums to process from a profile (0= no limit)photo_limit(int, default:10): Max photos per album (0= no limit)concurrency(int, default:8): Max concurrent album fetches when rendering (capped byalbum_limit)
Example:
curl "http://localhost:8080/zonerama?link=https://eu.zonerama.com/Fcbizoni/1419417&album_limit=3&photo_limit=25" | jq .
/zonerama-album
Scrape a single album by URL (link must contain /Album/).
Params:
link(required):https://eu.zonerama.com/<Account>/Album/<AlbumId>photo_limit(int, default:10): Max photos from the album (0= no limit)
Example:
curl "http://localhost:8080/zonerama-album?link=https://eu.zonerama.com/SomeAccount/Album/13903610&photo_limit=25" | jq .
Notes
- This scraper parses:
- Albums from the main/profile page by selecting
li.list-alband readingdata-urlor the nested anchorhref. - Photos from each album page via
div.gallery-inner[data-type='photo']and itsdata-id(photo ID).
- Albums from the main/profile page by selecting
- For each photo ID, it builds
https://{host}/photos/{id}_1500x1000.jpg. - If Zonerama changes their HTML structure, selectors may need to be updated.
Server starts at :8080. CORS is enabled.
For full details and response schemas, see API.md.
Disclaimer
Be respectful of Zonerama's terms of service and rate limits. This project is for educational purposes.