it all seems to work somewhat well

This commit is contained in:
Valentijn van der Jagt
2025-11-22 15:00:09 +01:00
parent ec2db75eb8
commit e2ee4dd30e
5 changed files with 148 additions and 31 deletions

View File

@@ -1,46 +1,30 @@
package nl.herpiederpiee.appie_scraper;
import com.microsoft.playwright.*;
import com.microsoft.playwright.options.WaitUntilState;
import org.json.*;
import com.microsoft.playwright.*;
import org.json.*;
import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BonusManager bonusManager = new BonusManager();
bonusManager.updateBonusItems();
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
BrowserContext context = browser.newContext();
Page bonusPagina = context.newPage();
Scanner input = new Scanner(System.in);
bonusPagina.navigate("https://www.ah.nl/bonus");
System.out.println("Dom Content Loaded!");
TimeUnit.SECONDS.sleep(5);
ArrayList<BonusItem> bonusItems = new ArrayList<BonusItem>();
int counter = 0;
Locator bonusElements = bonusPagina.locator(".promotion-card_root__tQA3z");
for (ElementHandle bonusElement : bonusElements.elementHandles()){
BonusItem bonusItem = new BonusItem(bonusElement);
bonusItems.add(bonusItem);
counter++;
while (true) {
System.out.println("\n\nWhat item would you like to look for?");
String userInput = input.nextLine();
if (userInput.equals("qqq")) break;
ArrayList<BonusItem> userResults = bonusManager.getBonusItems(userInput);
for (BonusItem bonusItem : userResults) {
System.out.println(bonusItem.title + " => " + bonusItem.bonusText);
}
System.out.println("Amount of items: " + counter);
// get random item from array
Random random = new Random();
BonusItem chosenItem = bonusItems.get(random.nextInt(bonusItems.size()));
System.out.println("Random Item:\n"+chosenItem.title+" => "+chosenItem.bonusText + " ("+chosenItem.category+")\nImage URL:"+chosenItem.imageURL);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}