Skip to content

gherghett/Bokborsen-Multi-Search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Bokbörsen Multi Search

Ett verktyg för att söka efter flera böcker samtidigt på Bokbörsen – och hitta säljare som har flera av dem.

🔗 Live-demo: https://bokborsenmultisearch.grgta.xyz


✨ Varför?

Bokbörsen är mitt favoritställe för att köpa begagnade böcker. Tänk dig det som "Blocket för böcker" – tusentals titlar, tusentals säljare. Men här finns ett problem:

Frakten på Bokbörsen är fast per säljare. Om du beställer 10 böcker från 10 olika säljare blir frakten 10x högre än om du hittar en säljare som har alla böcker.

Exempel:

Scenario Pris
10 böcker à 50 kr, 1 säljare 500 kr + 79 kr frakt = 579 kr
10 böcker à 50 kr, 10 säljare 500 kr + (10 × 79 kr frakt) = 1290 kr

Målet med projektet är att lösa detta problem: Att enkelt hitta säljare som har flera (eller alla) av de böcker du letar efter.


🔍 Hur fungerar det?

  1. Ange flera söksträngar – t.ex. "Sagan om ringen", "Harry Potter", "1984".

  2. Verktyget skapar sök-URL:er till Bokbörsen för varje sträng.

  3. Varje sökresultat hämtas via ScraperAPI (eftersom Bokbörsen saknar publikt API).

  4. HTML-svaren parsas med HtmlAgilityPack för att extrahera:

    • Titlar
    • Försäljare
    • Pris
  5. Resultatet sammanställs per säljare:

    • Säljare som har fler av de efterfrågade böckerna listas först.
  6. Allt presenteras i ett Blazor-gränssnitt.


🧱 Teknisk översikt

├── Bokborsen_multi_search.sln
├── README.md
├── src
│   ├── BokborsenCommunicator         # Klassbibliotek: scraping, parsing, logik
│   └── BokborsenMultiWeb             # Blazor UI
│       └── Components
└── test
    ├── BokBorsenMultiWeb.Test
    └── BokborsenMultiWeb.TestsCreationTools
  • BokborsenCommunicator: Ansvarar för att kontakta Bokbörsen (via ScraperAPI) och tolka HTML.
  • BokborsenMultiWeb: Blazor frontend som presenterar resultaten för användaren.

⚙️ Prestanda & Cache

För att hålla svarstiderna rimliga:

  • Endast de första sidorna av varje sökresultat hämtas.

  • Resultat cachelagras i upp till 24 timmar.

    • Detta minskar antalet API-anrop vid upprepade sökningar.
    • Ingen persistent databas används.

🧪 Testning

En testsvit finns, men är inte uppdaterad för den senaste versionen med ScraperAPI. Testprojektet behöver uppdateras för att mocka API-respons eller köra integrationstester mot "falska" HTML-sidor.


📅 Bakgrund

Projektet skapades sommaren 2024 för att lösa ett konkret problem jag själv hade – att hitta flera böcker från samma säljare på Bokbörsen. Den manuella processen var frustrerande och ineffektiv, särskilt när antalet böcker på inköpslistan ökade.

Efter att Bokbörsen gjorde en ändring som blockerade enklare scraping, anpassade jag projektet till att använda ScraperAPI.

About

Ett verktyg för att söka efter flera böcker samtidigt på Bokbörsen – och hitta säljare som har flera av dem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages