Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Diff op duizenden html-files om blauwdrukken te krijgen

Pagina: 1
Acties:

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Momenteel heb ik van meerdere sites enkele duizenden html-pagina's.
Nu haal ik er al informatie uit via boilerpipe etc. Maar de meeste van die methodes zijn meer gericht op 1 stuk tekst en daar de info uit halen, alhoewel dat best mooi werkt wilde ik eigenlijk ietsje verder gaan doordat ik simpelweg meer info heb dan 1 pagina.

Ik heb zeg maar een duizend pagina's van google-results, dan kan ik handmatig zien dat de menubalk bijna altijd gelijk is en dus geen relevante info zal bevatten. Maar hoe destilleer ik dit uit 1000'en files?

Qua aanpak had ik iets volgt voor ogen :
1: per pagina alle attributen / javascript verwijderen (vanwege sessie id's / google analytics grappen etc)
2: (optioneel) per pagina onderverdelen in block-level tags.
3: een duizend-way diff doen :) en dan de gelijke delen opslaan.

Maarja hoe doe je die duizend-way diff en hoe voorkom je dat 1 uitzondering (contact-pagina bijv) de rest overhoop gooit.

Nu was mijn huidige idee :
- Herschrijf alle url's met get-waarden naar alfabetisch gesorteerde getwaardes als directory (vb : google.nl/index.php?search=wat&browser=fire -> google.nl/index.php/browser=fire/search=wat) zodat ik soortgelijke pagina's bij soortgelijke pagina's heb ongeacht de volgorde van de get-waardes.
- Ga dan op het laagste nivo beginnen en vergelijk blocklevel voor blocklevel per pagina voor pagina.
- Ga dan een directory omhoog en vergelijk de templates verkregen uit de vorige stap met elkaar.

Aan het einde remove per nivo de templates van de html pagina en je zou enkel maar de relevante info over moeten houden...

Alhoewel dit volgens mij best wel moet werken zit ik met toch af te vragen of er niet een handiger methode is dan dit brute-forcen. Iemand een goed idee?

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

De hele zut reduceren lijkt me een mooie.

1. Neem een willekeurige page
2. Neem een top-level tag (en misschien later met XPath een willekeurige tag)
3. deel de HTML pages in adhv het hebben van die tag
4. afhankelijk van het percentage:
100%: strip de tag
>90%: stop degene die de tag niet hebben in een aparte directory, job done
voor de andere, strip de tag
al de rest: je hebt een stuk content gevonden
5. goto 1.

bij het strippen (stap 4) kun je trouwens kiezen om die tag in de template (die je tegelijk opbouwt) toe te voegen.
Zo kun je zelfs een complete tree-structuur opbouwen van template -> set pages (zie radix tree)

ASSUME makes an ASS out of U and ME