Meeskond:Scraper

From ICO wiki
Jump to navigationJump to search

LIIKMED

  • Ove Kangur
  • Heidi Koppel - projektijuht

BLOGI

  • 10.10.2017 - Panime meeskonna kokku
  • 10.10.2017 - Rääkisime ideest
  • 21.10.2017 - Panime idee paika
  • 3.11.2017 - Tegime analüüsi ja joonistasime andmebaasi


IDEE

Teeme web scraper'i, mis laeb alla lehekülgede html failid, loeb nendest välja informatsiooni ning salvestab saadud info andmebaasi ning peab järge selle üle mis lehedel on käidud ning mis lehtedele, mis ajal tuleb veel(uuesti) minna.

Kasutajaliidese, kust saab valida milliseid lehekülgi tõmmata ningteha päringuid.

Kui aega üle peaks jääma siis võiks esimese asjana teha selle automaatseks nii, et ta kontrollib kas interneti ühendus on olemas ja näiteks iga päev kell 12:00 ning hakkab ise tööle (või esimesel võimaluses kui arvuti on sisse lülitatud ja internetiühendus olemas). Kui siis ka veel igav on siis rakendada mõnda (masinõppe) algoritmi või lihtsamat statistikat, mis leiaks infost midagi huvitavat ja teeks näiteks iga päev mingi kokkuvõtte/raporti ning saadab selle mailile.

TEHNOLOOGIA

C#

WPF

SQL

LINQ päringukeel

Entity Framework

ANALÜÜS

Miks ja mida me teeme?

Tänases suures infohulgas on raske leida üles asjalikku informatsiooni. Kliki-näljas meedia toodab palju sisutühje või kollaseid uudiseid, mille sorteerimine on tüütu. Meie rakendus annab kasutajale võimaluse saada kiiresti ülevaate aktuaalsetest teemadest. Rakendus hoiab kokku kasutaja aega ja aitab vältida kokkupuudet mõttetute pealkirjadega, mis tema igapäevast uudisvoogu risustavad.

Teeme töölaua rakenduse, mis võimaldab kuvada kõige populaarsemaid uudisteemasid praegusel hetkel ja ka otsida sõna järgi kõige populaarsemaid uudiseid, mis selle sõnaga on seotud. Ideaalis aitab rakendus soovi korral eemaldada ka “kollaste uudiste” tundemärkidega pealkirju.

Kuidas meie rakendus toimib?

Rakendus kammib läbi uudiseid edastavaid veebilehti ja toob välja populaarsemad sõnad praegusel ajahetkel. Rakendus avab veebilehe uudistearhiivi ja loeb sealt sisse uudiste pealkirjad. Sealjuures välistab rakendus enam levinud sidesõnad, artiklid jms väheinformatiivsed sõnad. Rakendus tõstab esile sõnad, mille esinemissagedus on oluliselt suurem kui nende ajalooline keskmine. Kasutaja saab valida erinevate riikide uudisteportaalide ning keelte vahel.

Kasutaja saab graafilises kasutajaliideses vaadata populaarsemaid sõnu. Kui sõnale klikkida, siis saab vaadata viimaseid uudiseid, mis selle sõnaga seostuvad. Samuti saab kasutaja sisestada otsingusse sõnu ja leida nii viimaseid seotud uudiseid. Uudiseid saab filtreerida riigiti ja alateema kaupa (poliitika, tehnoloogia, majandus jms.). Samuti saab kasutaja valida, milliseid veebilehti otsingu jaoks kasutatakse.

Võimalik on vaadata viimaste otsingute ajalugu. Kaalume ka kasutajakonto loomise võimalust, aga hetkel ei tundu see otstarbekas.

Kuidas me oma rakendust ehitame?

  • Kasutame Entity Frameworki andmebaasi loomiseks ja sellega suhtlemiseks.
  • Kasutame Code First lähenemist.
  • Kasutame MVVM arendusmustrit, eraldada kasutajaliidese ja andmebaasi ehitamist. Nii saame töötada ühel ajal ja kõik pole ühes failis koos.
  • Kommenteerime oma koodi, et pärast retsenseerijatel oleks ka võimalik aru saada kuidas rakendus töötab.

Milline on tööjaotus?

Oleme tiimis kahekesi ja kavatseme üldiselt kirjutada koodi koos. Erinevatele probleemidele lahenduste otsimise jaotame omavahel ära ja siis valime võimalike lahenduste seast koos selle, mis meie jaoks kõige paremini töötab ja loomulikult selle, mille kirjutamisega hakkama saame.

Mis tundub meile hetkel kõige raskem teostada?

  • MVVM arendusmustri korralikult kasutamine tundub hetkel keeruline, aga loodame, et kui reaalselt tööle hakkame ja näeme, milliseid tükke meie rakenduse jaoks on vaja kokku panna saab selgemaks kuhu miski kuulub.
  • Andmebaasi graafilise liidesega ühendamine.

Millised on töö etapid?

  • Valime veebilehed, mida töödelda
  • Mõtleme välja, millises vormis saadud andmed salvestada
  • Kirjutame valmis andmete tõmbamise programmi
  • Kirjutame skripti mis võtab toorandmetest välja meid huvitava info
  • Salvestame andmed andmebaasi
  • Loome kasutajaliidese
  • Kirjutame filtrid andmete kuvamiseks
  • Kirjutame otsingu.
  • Ühendame andmebaasi graafilise liidesega


Must have:

  • Toimiv scraper
  • Graafiline kasutajaliides
  • Keelevalik (Radio button)
  • Riigi valik (CheckBox)
  • Veebilehe valik (CheckBox)
  • Alateema valik (CheckBox)
  • Uudiste otsing sõnade kaudu
  • Otsingute ajalugu

Nice to have:

  • Fake news blokeering
  • Kuupäeva valik
  • Ilusa ja mugava disainiga kasutajaliides
  • Kasutajakonto, et salvestada oma valikuid