def izlocimo_restavracije_s_strani(url):
    podatki = []
    orodja.shrani_spletno_stran(url, frontpage_filename)
    vsebina = orodja.vsebina_datoteke(frontpage_filename)
    for blok in vzorec_bloka.findall(vsebina):
        podatki.append(izlocimo_podatke(blok))
    return podatki
def igralci_na_strani(st_strani):
    url = f'https://www.fifaindex.com/players/{st_strani}/?gender=male&order=desc'
    ime_datoteke = 'zajeti-podatki/igralci{}.html'.format(st_strani)
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izloci_podatke_igralca(blok.group(0))
Esempio n. 3
0
def ena_stran(stevilka):
    url=f'https://www.goodreads.com/book/popular_by_date/{stevilka}/'
    datoteka = f'najbolj-popularne-knjige/{stevilka}.html'
    orodja.shrani_spletno_stran(url, datoteka)
    vsebina = orodja.vsebina_datoteke(datoteka)
    for blok in vzorec_bloka.finditer(vsebina):
        yield spremeni(blok.group(0))
def vsa_tekmovanja(začetek, konec):
    osnovni_link = "https://www.imo-official.org/"
    tekmovanja = []
    for leto in range(zacetek, konec):
        tekmovanje_leto = []
        #Za leto 1980 ni podatkov.
        if leto == 1980:
            continue
        url = f'https://www.imo-official.org/year_country_r.aspx?year={leto}'
        ime_datoteke_html = f'zajeti_podatki/leto_{leto}/imo-{leto}.html'
        orodja.shrani_spletno_stran(url, ime_datoteke_html)
        vsebina = orodja.vsebina_datoteke(
            f'zajeti_podatki/leto_{leto}/imo-{leto}.html')

        for link in vzorec_leto.finditer(vsebina):
            tekmovanje_leto.append({
                "leto":
                leto,
                "država":
                link.groupdict()["država"],
                "link":
                osnovni_link + link.groupdict()["link1"] +
                link.groupdict()["link2"]
            })
        # Shranim v json
        ime_datoteke_json = f'zajeti_podatki/leto_{leto}/imo-{leto}.json'
        orodja.zapisi_json(tekmovanje_leto, ime_datoteke_json)
        tekmovanja.extend(tekmovanje_leto)
    return tekmovanja
 def leto_drzava_gostiteljica():
     url = "https://www.imo-official.org/results_year.aspx"
     ime_datoteke_html = 'zajeti_podatki/leto_gostiteljica.html'
     orodja.shrani_spletno_stran(url, ime_datoteke_html)
     vsebina = orodja.vsebina_datoteke(ime_datoteke_html)
     for leto_drzava in vzorec_leto_gostiteljica.finditer(vsebina):
         yield leto_drzava.groupdict()
Esempio n. 6
0
def dodaj_letosnje_podatke(firma):
    ime_datoteke = 'Spletne_strani/Firme/' + firma[
        'poenostavljeno'] + '/2019.html'
    orodja.shrani_spletno_stran(firma['link'], ime_datoteke)
    vsebina_strani = orodja.vsebina_datoteke(ime_datoteke)
    for zadetek in re.finditer(vzorec_na_strani, vsebina_strani):
        podatki_firme = zadetek.groupdict()
    firma.update(podatki_firme)
def zanri_url(seznam):
    for konec in seznam:
        url = ('https://www.goodreads.com/book/show/' f'{konec}')
        ime_datoteke = f'htmlji-knjig-posebej/{konec}.html'
        orodja.shrani_spletno_stran(url, ime_datoteke)
        vsebina = orodja.vsebina_datoteke(ime_datoteke)
        blok = re.finditer(vzorec_zanra, vsebina)
        print(blok)
Esempio n. 8
0
def podrobnosti(sifra):
    '''Shrani oglas z dano šifro, prebere vsebino danega oglasa in naredi slovar glede na zgornji vzorec s pomočjo regularnih izrazov.'''
    url = (f'https://www.studentski-servis.com'
           f'/ess/podrobnosti.php?id={sifra}')
    ime_datoteke = 'zajeti-podatki/podrobnosti-oglasa.{}.html'.format(sifra)
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    return izloci_podatke_oglasa(vsebina)
def knjige_na_strani(st_strani, na_stran=100):
    url = ('https://www.goodreads.com/list/show/'
           '1.Best_Books_Ever?'
           f'page={st_strani}')
    ime_datoteke = f'htmlji/knjige-{st_strani}.html'
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izloci_podatke_knjige(blok.group(0))
def knjige_na_strani(st_strani):
    url = (
        f'https://www.goodreads.com/list/show/133723.Goodreads_Choice_Awards_2019_eligible_for_write_in_only_?page={st_strani}'
    )
    ime_datoteke = 'knjige-na-strani-{}.html'.format(st_strani)
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izloci_podatke_knjige(blok.group(0))
def download_anime_page_id(st_strani, zacetek):
    '''Shrani anime, ki je v bazi spletne strani pod id'''
    for i in range(st_strani):
        url = ('https://myanimelist.net/anime/{}'.format(zacetek + i))
        ime_datoteke = 'Anime-id{}.html'.format(zacetek + i)
        path = os.path.join(anime_directory, ime_datoteke)
        orodja.shrani_spletno_stran(url, path)
        #vsebina = orodja.vsebina_datoteke(ime_datoteke)
        #print(vsebina)
    return None
Esempio n. 12
0
def shrani_strani_iz_nepremicnine(stevilo_oglasov):
    stevilo_strani = stevilo_oglasov // 30 + 1
    for stevilka in range(1, stevilo_strani + 1):
        url = (
            f'https://www.nepremicnine.net/oglasi-prodaja/slovenija/{stevilka}/'  #f dela kot format
        )
        orodja.shrani_spletno_stran(
            url,
            f'spletne_strani/nepremicnine{stevilka}.html',
            vsili_prenos=False)
def filmi_na_strani(st_strani, na_stran=250):
    url = (f'https://www.imdb.com/search/title'
           f'?sort=num_votes,desc&title_type=feature&count={na_stran}'
           f'&start={(st_strani - 1) * na_stran + 1}')
    ime_datoteke = 'zajeti-podatki/najbolj-znani-filmi-{}.html'.format(
        st_strani)
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izloci_podatke_filma(blok.group(0))
def poberi_tedensko_lestvico(datum):
    leto = datum.year
    mesec = datum.month
    dan = datum.day
    url = f'http://world.kbs.co.kr/service/musictop10.htm?lang=e&start_year={leto}&rank_date={leto}-{mesec}-{dan}'
    datoteka = f'kpop-lestvice/{leto}-{mesec}-{dan}.html'
    orodja.shrani_spletno_stran(url, datoteka)
    vsebina = orodja.vsebina_datoteke(datoteka)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izlusci_podatke_pesmi(blok.group(0))
Esempio n. 15
0
def nalozi_strani():
    counter = 1
    for leto in range(1999, 2020):
        for i in range(1, seti_na(leto) + 1):
            url = (f'https://brickset.com/sets/year-{leto}/page-{i}')
            ime_datoteke = (
                f"/Users/thrawn/Documents/git/Lego-sets/html-nalozeni-1999-2019/brickset-database-{counter}.html"
            )
            orodja.shrani_spletno_stran(url, ime_datoteke, vsili_prenos=False)
            counter += 1
def animeji_na_strani(stran):
    start = stran * 50
    url = (
        f'https://myanimelist.net/anime.php?cat=0&q=&type=1&score=0&status=2&p=0&r=0&sm=0&sd=0&sy=0&em=0&ed=0&ey=0&c%5B0%5D=a&c%5B1%5D=b&c%5B2%5D=c&c%5B3%5D=d&c%5B4%5D=e&c%5B5%5D=f&c%5B6%5D=g&gx=1&genre%5B0%5D=9&genre%5B1%5D=12&genre%5B2%5D=26&genre%5B3%5D=28&genre%5B4%5D=33&genre%5B5%5D=34&o=7&w=1&show={start}'
    )
    ime_datoteke = f'zajeti-podatki/popularni_animeji_{stran}'
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)
    for blok in vzorec_bloka.finditer(vsebina):
        yield izloci_podatke_animeja(blok.group(0))
def poberi_in_izlusci_umetnika(ime, url):
    SOLO, SKUPINA = 'SO', 'SK'
    umetnik = {}
    datoteka = f'umetniki/{ime}.html'
    orodja.shrani_spletno_stran(url, datoteka)
    vsebina = orodja.vsebina_datoteke(datoteka)

    zalozbe = vzorec_zalozba.search(vsebina)
    if zalozbe:
        zalozbe_za_precistiti = zalozbe['zalozba'].split(', ')
        preciscene_zalozbe = []
        for zalozba in zalozbe_za_precistiti:
            zalozba = neumne_izjeme(zalozba)
            cista_zalozba = pocisti_tekst(zalozba)
            preciscene_zalozbe.append(cista_zalozba)
        umetnik['zalozbe'] = preciscene_zalozbe
        if ime == 'SHAUN':
            umetnik['zalozbe'] = ['Happy Robot Record']
    else:
        umetnik['zalozbe'] = None

    debut = vzorec_debut1.search(vsebina)
    if not debut:
        debut = vzorec_debut2.search(vsebina)
    if debut:
        debut = int(debut['debut'])
        if debut == 1808:
            debut = 2013
        umetnik['debut'] = debut
    else:
        umetnik['debut'] = None

    clani = vzorec_clani.search(vsebina)
    if ime == 'X1':
        clani = vzorec_clani_za_x1_ker_so_tako_posebni.search(vsebina)
    if clani:
        umetnik['clani'] = pocisti_tekst(clani['clani']).split(', ')
        umetnik['tip'] = SKUPINA
    else:
        umetnik['clani'] = None
        umetnik['tip'] = SOLO

    biografija = vzorec_biografija1.search(vsebina)
    if not biografija:
        biografija = vzorec_biografija2.search(vsebina)
    if not biografija:
        biografija = vzorec_biografija3.search(vsebina)
    if biografija:
        biografija = biografija['biografija']
        umetnik['biografija'] = pocisti_tekst(biografija)
    else:
        umetnik['biografija'] = None

    return umetnik
def obdelava_spletne_strani(st_strani):
    url = (
        'https://www.futbin.com/19/players'
        '?page={}'
        '&position=CB,LB,LWB,RB,RWB,CDM,CM,CAM,CF,ST,LM,LW,LF,RM,RW,RF&version=all_nif'
    ).format(st_strani)
    ime_datoteke = 'igralci-Fife19-{}.html'.format(str(st_strani))
    orodja.shrani_spletno_stran(url, ime_datoteke)
    odseki_igralcev = orodja.razdeli_stran_na_igralce(ime_datoteke,
                                                      vzorec_odseka)
    for igralec in odseki_igralcev:
        yield obdelaj_igralca(igralec)
Esempio n. 19
0
def shrani_strani(regije, stevilo_oglasov):
    for regija, stevilo in zip(regije, stevilo_oglasov):
        print(regija, stevilo)
        st_strani = stevilo // 30 + 1
        print(st_strani)
        for stevilka in range(1, st_strani + 1):
            url = (
                f'https://www.nepremicnine.net/oglasi-prodaja/{regija}/{stevilka}/'  #f dela kot format
            )
            orodja.shrani_spletno_stran(url,
                                        f'html_regije/{regija}{stevilka}.html',
                                        vsili_prenos=False)
Esempio n. 20
0
def podjetja_na_strani():
    count = 0
    for naslov in naslovi:
        for a in naslov:
            url1 = (naslov[a])
            url = f"https://www.itis.si{url1}"
            count += 1
            ime_datoteke = '{}-{}.html'.format(dejavnost, count)
            orodja.shrani_spletno_stran(url, ime_datoteke)
            vsebina = orodja.vsebina_datoteke(ime_datoteke)
            for blok in vzorec_podjetja.finditer(vsebina):
                yield izloci_podatke(blok.group(0))
            os.remove(ime_datoteke)
Esempio n. 21
0
def stanovanje_na_strani(st_strani):
    url = ("https://www.nepremicnine.net/"
           "oglasi-oddaja/slovenija/"
           f"stanovanje/{st_strani}/")
    ime_datoteke = f"spletne-strani/stanovanja-{st_strani}.html"
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)

    for blok in vzorec_bloka.finditer(vsebina):
        url2 = str(izloci_podatke_stanovanja(blok.group(0)).get("url"))
        id = izloci_podatke_stanovanja(blok.group(0)).get("id")
        drugo = dodatni_podatki_na_strani(url2, id)
        stanovanje = izloci_podatke_stanovanja(blok.group(0))
        stanovanje.update(drugo)
        yield stanovanje
Esempio n. 22
0
def podjetja_na_strani():
    count = 0
    for naslov in naslovi:
        for a in naslov:
            url1 = (naslov[a])
            url = f"https://www.stop-neplacniki.si{url1}"
            count += 1
            ime_datoteke = f'{count}.html'
            orodja.shrani_spletno_stran(url, ime_datoteke)
            vsebina = orodja.vsebina_datoteke(ime_datoteke)
            st_vrstic = stetje_vrstic(ime_datoteke)
            print(st_vrstic)
            for blok in vzorec_podjetja.finditer(vsebina):
                yield izloci_podatke(blok.group(0), st_vrstic)
            os.remove(ime_datoteke)    
Esempio n. 23
0
def oglasi_na_strani(stran):
    url = (
        "https://www.avto.net/Ads/results.asp?znamka=&model=&modelID=&tip=&znamka2="
        "&model2=&tip2=&znamka3=&model3=&tip3=&cenaMin=0&cenaMax=999999&letnikMin=0"
        "&letnikMax=2090&bencin=0&starost2=999&oblika=&ccmMin=0&ccmMax=99999&mocMin"
        "=&mocMax=&kmMin=5000&kmMax=9999999&kwMin=0&kwMax=999&motortakt=&motorvalji"
        "=&lokacija=0&sirina=&dolzina=&dolzinaMIN=&dolzinaMAX=&nosilnostMIN=&nosiln"
        "ostMAX=&lezisc=&presek=&premer=&col=&vijakov=&EToznaka=&vozilo=&airbag=&bar"
        "va=&barvaint=&EQ1=1000000000&EQ2=1000000000&EQ3=1000000000&EQ4=100000000&EQ"
        "5=1000000000&EQ6=1000000000&EQ7=1000100020&EQ8=1010000001&EQ9=100000000&KAT"
        "=1010000000&PIA=&PIAzero=&PSLO=&akcija=&paketgarancije=0&broker=&prikazkat"
        f"egorije=&kategorija=&ONLvid=&ONLnak=&zaloga=10&arhiv=&presort=&tipsort=&stran={stran}"
    )
    ime_datoteke = f"rabljeni-avtomobili-stran-{stran}.html"
    orodja.shrani_spletno_stran(url, ime_datoteke)
def knjige_na_strani(st_strani):
    global st_knjige
    url = f'https://www.goodreads.com/list/show/1.Best_Books_Ever?page={st_strani}'
    ime_datoteke = 'zajeti-podatki/najboljse-knjige-{}.html'.format(st_strani)
    orodja.shrani_spletno_stran(url, ime_datoteke)
    vsebina = orodja.vsebina_datoteke(ime_datoteke)

    # Shranimo knjige
    for knjiga in vzorec_povezave.finditer(vsebina):
        povezava = knjiga.group(1)
        posamezne_knjige(st_knjige, vsebina, povezava)
        st_knjige += 1

    # Shranimo avtorje
    for knjiga in vzorec_povezave_avtorja.finditer(vsebina):
        povezava_avtorja = knjiga.group(1)
        ime_avtorja = knjiga.group(2).replace(''', '\'')
        avtor(povezava_avtorja, ime_avtorja)
    print(st_knjige)
Esempio n. 25
0
def zajemi_glavne(st_strani=99):
    """
    Zajame strani, kjer je seznam vin, hkrati za vsako vino poišče link na 
    njegovo unikatno stran in ga shrani v seznam.
    """
    vina_url = []
    vino_url_vzorec = re.compile(
        r'<a href=(?P<vino>"https://winelibrary.com/(wines|others|gourmet)/.*?)><img', 
                    re.DOTALL)

    for i in range(st_strani):
        # shranimo strani v unikatne datoteke
        orodja.shrani_spletno_stran(f'https://winelibrary.com/search?page={i}&search=', 
                                    f'zajete_strani/vina/vina{i * 25 + 1}-{(i+1) * 25}.html')
        vina_url += re.findall(
            vino_url_vzorec, orodja.vsebina_datoteke(
                f'zajete_strani/vina/vina{i * 25 + 1}-{(i+1) * 25}.html'))

    return vina_url
Esempio n. 26
0
def vina_na_strani(st_strani):
    '''Najprej nalozi stran s seznamom izdelkov, nato za vsak izdelek poišče url do podrobnih podatkov in naloži še tiste urlje. '''
    url = ('https://winelibrary.com/search?'
           'color%5B%5D=Red&'
           'color%5B%5D=White&'
           'color%5B%5D=Rose&'
           'page={}&'
           'size%5B%5D=750ML').format(st_strani)
    ime_datoteke1 = 'zajeti-podatki/vina-{}.html'.format(st_strani)
    orod.shrani_spletno_stran(url, ime_datoteke1)
    vsebina = orod.vsebina_datoteke(ime_datoteke1)
    i = 1
    for url_vina in vzorec_url_vina.finditer(vsebina):
        ime_datoteke2 = 'zajeti-podrobni-podatki/vina-podorobno-{}.html'.format(
            st_strani * 100 + i)
        podatek = url_vina.groupdict()
        url1 = 'https://winelibrary.com/wines/' + podatek['novi_url'].strip()
        orod.shrani_spletno_stran(url1, ime_datoteke2)
        nova_vsebina = orod.vsebina_datoteke(ime_datoteke2)
        i += 1
        yield izloci_podatke_vina(nova_vsebina)
Esempio n. 27
0
def nalozi_podatke_starega_leta(firma, leto):
    ime_datoteke = 'Spletne_strani/Firme/' + firma[
        'poenostavljeno'] + '/' + leto + '.html'
    orodja.shrani_spletno_stran(firma['link'].replace('2019', leto),
                                ime_datoteke)
    vsebina_strani = orodja.vsebina_datoteke(ime_datoteke)
    zadetek = None
    for zadetek in re.finditer(vzorec_na_strani, vsebina_strani):
        zadetek = zadetek
        podatki_firme = zadetek.groupdict()
    if zadetek == None:
        podatki_firme = {
            'sredstva': '-',
            'prihodki': '-',
            'dobicek': '-',
            'zaposleni': '-'
        }
    firma['vec_letna_sredstva'].update({leto: podatki_firme['sredstva']})
    firma['vec_letni_prihodki'].update({leto: podatki_firme['prihodki']})
    firma['vec_letni_dobicki'].update({leto: podatki_firme['dobicek']})
    firma['vec_letni_zaposleni'].update({leto: podatki_firme['zaposleni']})
Esempio n. 28
0
def zajemi_posamezna(seznam_urljev):
    """
    Od zgornje funkcije prejme seznam vin in pobere njih posamezne strani. Hkrati 
    dobi tudi vrsto proizvoda - ni nujno, da so samo vina.
    """
    i = 1
    for link, vrsta in seznam_urljev:

        if i <= 1000:
            orodja.shrani_spletno_stran(link[1:-1], f'zajete_strani/oglasi/01/oglas{i}.html')

        elif (i >= 1001) and (i <= 2000):
            orodja.shrani_spletno_stran(link[1:-1], f'zajete_strani/oglasi/02/oglas{i}.html')

        else:
            orodja.shrani_spletno_stran(link[1:-1], f'zajete_strani/oglasi/03/oglas{i}.html')

        i += 1
Esempio n. 29
0
import orodja
import re

###############################################################################
# Najprej preberimo podatke iz interneta in stran zapišimo v obliko besedila.
###############################################################################

orodja.pripravi_imenik("spletna.csv")

for i in range(1, 9):
    url = (
        "https://www.imdb.com/search/title?num_votes=2000,&sort=user_rating,"
        "desc&title_type=tv_episode&view=advanced&page={}&count=500&ref_=adv_nxt'"
    ).format(i)
    orodja.shrani_spletno_stran(url, "serije-{}.html".format(i))

besedilo = ""
for i in range(1, 9):
    besedilo = besedilo + "\n" + orodja.vsebina_datoteke(
        "serije-{}.html".format(i))

###############################################################################
# Iz dobljenega besedila želimo ustvariti slovar z iskanimi podatki.
###############################################################################


def poisci_epizode(niz):
    '''Funkcija, ki celoten niz razdeli na posamezne epizode.'''
    vzorec = re.compile(r"class=\"loadlate\"" r"(.*?)" r"\n\n", re.DOTALL)
    seznam = []
    for ujemanje in vzorec.finditer(niz):
Esempio n. 30
0
def cisti_podatki(podatki):
    podatki_knjige = podatki.groupdict()
    podatki_knjige['ocena'] = float(podatki_knjige['ocena'].replace(',', '.'))
    podatki_knjige['naslov'] = str(podatki_knjige['naslov'].replace(
        '&quot;', '"'))
    podatki_knjige['score'] = float(podatki_knjige['score'].replace(',', '.'))
    podatki_knjige['glasovalci'] = int(podatki_knjige['glasovalci'].replace(
        ',', ''))
    return podatki_knjige


for i in range(1, 21):
    url = (
        'https://www.goodreads.com/list/show/7.Best_Books_of_the_21st_Century?page={}'
    ).format(i)
    orodja.shrani_spletno_stran(url, 'stran-{}.html'.format(i))

podatki = []
for stran in range(1, 21):
    vsebina = orodja.vsebina_datoteke('stran-{}.html'.format(stran))
    for ujemanje in vzorec.finditer(vsebina):
        podatki_knjige = cisti_podatki(ujemanje)
        podatki.append(podatki_knjige)
zapisi_csv(podatki, ['naslov', 'avtor', 'ocena', 'score', 'glasovalci'],
           'knjige21.csv')
zapisi_json(podatki, 'knjige.json')


def vrstice_naslovi_avtorji(dat):
    '''
    Vrne koliko knjig imamo med podatki.