HW04 - HTML Tīrīšana

Last modified by superadmin on 2018-01-12 20:32

HW04 - HTML Tīrīšana

Mērķis:
Priekš dažām Web vietnēm iztīrīt Web lapas un pārveidot tās XHTML formātā pirms noglabāšanas datubāzē. Izveidot atbilstošas "pluginojamas" Spring bean komponentes satura attīrīšanai.
Apraksts:
Tipiskas Web vietnes satur HTML, kurās konkrētā dokumenta saturam apkārt izvietotas navigācijas joslas, reklāmas baneri. Arī pašos dokumentos mēdz būt sastopams aplams vai nevajadzīgs HTML marķējums, vai arī HTML, kuru nevar apstrādāt kā XML (t.i. kā XHTML). Jūsu uzdevums ir pārveidot to vajadzīgajā formātā.

Ievads

Ir vairāki veidi, kā veikt HTML tīrīšanu:
  • Var lietot regulāru izteiksmju aizvietošanu (sk., piemēram, java.util.regex pakotni.) Piemēram, lai izdzēstu no dokumenta visus "FONT" tagus, var lietot sekojošu regulāras izteiksmes aizvietošanu:

    "<font[^<>]*>(.*?)</font>"
    aizstāt ar 
    "$1"
    

    Tas nozīmē, ka ikvienu atverošā un tuvākā aizverošā "FONT" taga pāri izdzēš un patur tikai to izteiksmes daļu, kas nonāca pirmajās apaļajās iekavās - (.*?), t.i. visu,kas bija rakstīts STARP šiem tagiem neizdzēš.

  • Dokumentam pielieto HTML Tidy procesu, kas dokumentā iztīra ļoti daudzus nevajadzīgos tagus; turklāt var pārveidot to XHTML (t.i. XML-iskā) formā.
  • XML Dokumentam pielieto XSLT transformāciju.
  • Veic parsēšanas darbības ar TagSoup parsētāju.

    Ņemot vērā daudzās bibliotēkas, ir būtiski izmantot modulāru/objektorientētu projektējumu, nevis rakstīt visus izsaukumus garā, nepārskatāmā un nekonfigurējamā virknē

Uzdevuma apraksts

Izvēlēties vismaz divus (vai vairākus) no tīrīšanas paņēmieniem un izveidot tiem atbilstošus Spring bean komponentus (t.i. regulāro izteiksmju aizvietotāju, XML Tidy procesu, XSLT transformāciju vai TagSoup rīka komandrindu). Tīrīšanas komponente saņem satura dokumentu kā String mainīgo un arī tīrīšanas rezultāts ir String mainīgais. Izveidot pamata programmu, kurai kā ieejas parametru ir jānorada URL sarakstu (vislabāk būtu piedāvāt to noradīt Spring konfigurācijā). Programma apstrādā katru URL - ielādē lapas saturu, jāiztīra to ar tīrīšanas komponenta palīdzību un rezultātu saglabā datubāzē (tā varētu būt viena tabula ar kolonam ID, URL un CONTENT). Izveidot JUnit testus, kuri pārbauda, ka dokumenti, ko ievada kā String objektus, tiek pareizi iztīrīti. Lapas satura ielādēšanai var izmantot HttpClient komponenti no 1.praktiska darba.

Aplikācijas raksturlielumi

Piegādājamais kods:
Klases (Spring konfigurējami komponenti), kuras nodrošina konfigurējamu tīrīšanas procesu saskaņā izvēlētām stratēgjijām. Pamata programma, kas apstaigā URL adreses, iztīra saturu un saglabā to datubāzē.
Ievade/Izvade:
Katra tīrīšanas komponente saņem satura dokumentu kā String mainīgo un arī tīrīšanas rezultāts ir String mainīgais. Pamata programma saņem URL sarakstu.

Bibliogrāfija

Tags:
Created by Alina Vasiljeva on 2009-11-26 11:50
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation