A custom, extensible media archival and backup library written in Java.
Find a file
2026-01-16 20:03:57 +01:00
src added initial implementation of image content scraper builder 2026-01-14 01:00:22 +01:00
.gitignore Initial commit 2025-12-09 17:54:13 +01:00
pom.xml updated artifact id to reflex lib name changes 2026-01-16 20:03:57 +01:00
README.md updated readme to reflect library changes 2025-12-28 05:31:10 +01:00

YYSLib

A Java-based media archival core library supporting image, video, and text content, designed with a modular, extensible architecture.

Disclaimer

This project is provided solely for educational, research, or interoperability purposes.
The authors do not endorse or condone illegal use of this software, including downloading or distributing copyrighted material without rights or authorization, and must not be used to collect or redistribute copyrighted material without authorization from the rights holder.

Key Features

  • Link Discovery: Extract URLs/links from content pages
  • Content Archival: Retrieve and archive authorized content (images, text, etc.)
  • Factory-Based Dispatch: Runtime type checking automatically selects correct implementation
  • Scraper Registry: Easy to add website specific archiver implementations.

Example Usage

// CustomWebsiteLinkScraper.java
public class CustomWebsiteLinkScraper implements LinkScraper {
    private WebDriver webDriver;
    private ScrapableContent assignedContent;

    public CustomWebsiteLinkScraper(WebDriver webDriver, ScrapableContent assignedContent) {
        this.webDriver = webDriver;
        this.assignedContent = assignedContent;
    }

    @Override
    public List<String> discoverContentUrls() {
        // site specific implementation
        // ...
    }
}

// Main.java
LinkScraperFactory.register("customwebsite.com",scrapableContent ->{
    return new CustomWebsiteLinkScraper(new FirefoxDriver(),scrapableContent);
});
// Main.java
// Example assumes you have permission to access and archive the target content
ScrapableContent content = new ScrapableContentImpl("customwebsite-image", "https://customwebsite.com/somepage", ScrapableContentType.IMAGE);

LinkScraper linkScraper = LinkScraperFactory.getLinkScraperFor(content);
List<String> urls = linkScraper.discoverContentUrls();

Dependencies

  • Selenium WebDriver 4.39.0
  • JUnit Jupiter 5.14.1
  • Java 21