abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 12
    včera 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    23.7. 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (26%)
     (5%)
     (5%)
     (5%)
     (2%)
     (2%)
     (27%)
    Celkem 132 hlasů
     Komentářů: 16, poslední včera 15:31
    Rozcestník

    Dotaz: wget: co se vlastne stahlo?

    20.6.2006 06:18 diverman | skóre: 32 | blog: život s tučňáčkem
    wget: co se vlastne stahlo?
    Přečteno: 249×
    Ahoj, stahuji wgetem soubor a potřebuji potom zjistit název souboru, který se stáhl. Příklad:
    wget www.seznam.cz
    --06:13:25--  http://www.seznam.cz/
               => `index.html'
    Resolving www.seznam.cz... 194.228.32.3
    Connecting to www.seznam.cz|194.228.32.3|:80... connected.
    HTTP požadavek odeslán, program čeká na odpověď ... 200 OK
    Délka: neudáno [text/html]
    
        [ <=>                                                                                            ] 31 595        --.--K/s
    
    06:13:25 (5.98 MB/s) - `index.html' saved [31595]
    
    Potřebuji získat to index.html. Pokud bych tento výstup poslal rourou, např. wget http://www.seznam.cz 2>&1|grep saved|sed -e 'blabla', tak sice získám název, ale přijdu tím o ostatní omáčku z wgetu. Potřeuji i tu omáčku i ten název... Dík za tip!
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free

    Odpovědi

    David Watzke avatar 20.6.2006 06:57 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    wget http://www.seznam.cz 2>&1|tee /dev/stderr|grep saved
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    20.6.2006 07:03 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Super, to je přesně wono ;-) Ale fakt jsem nečekal, že mi poradíš zrovna ty... :-) Ted jěště musím sesmolit ten sed, co mi z 07:00:11 (6.83 MB/s) - `index.html.31' saved [31612] dá to index.html :-(
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    David Watzke avatar 20.6.2006 07:13 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    $ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]"
    07:00:11 (6.83 MB/s) - `index.html.31' saved [31612]
    
    $ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" | \
    sed -e "s:[[:print:]]*\`::" -e "s?' saved \[[[:digit:]]*\]??g"
    index.html.31
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    20.6.2006 07:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Mladá generace se má čile k světu, hmm, to abych už šel pověsit počítač na hřebík... :-D (Nebo už konečně začal dělat na tom Informixu... :-D)
    David Watzke avatar 20.6.2006 07:21 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    LOL. Popravdě sám nevěřím tomu, že jsem tohle napsal :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    20.6.2006 07:14 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    -O file
    --output-document=file
    20.6.2006 09:00 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    S tím sedem to je takové krkolomné, nakonec jsem to vyřešil takhle:
    wget $URL 2>&1 | tee /dev/stderr | grep saved | awk '{ print(substr($5, 2, length($5)-2)); }'
    
    Dík všem a hlavně Davidovi :-)
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    20.6.2006 09:53 Kadži | skóre: 14
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    krkolomné je i toto. Zkus:
    wget $URL 2>&1 | tee /dev/stderr | awk '/saved/{ print(substr($5, 2, length($5)-2)); }'
    20.6.2006 09:44 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    A nestačilo by dát tomu souboru předem nějaký název, třeba index.html a nezalamovat se s tím, jestli je to index.htm nebo default.htm? Podívej se na volbu -o.
    20.6.2006 10:12 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    jj, o teto volbe vim, ale nechci se vazat na nejaky defaultni nazev, pac ten skript ve finale nebudu pouzivat ja.
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    20.6.2006 10:32 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Zdar, nejjednodušší bude asi uložit ten soubor pod předem určeným jménem, jak říká rastos. Pokud to chceš dělat ale takhle, tak bych zkusil asi něco takového:
    file=$(wget $url 2>&1 | sed -n "2{h;s/.*\`\(.*\)'$/\1/p;g};w /dev/stderr")
    20.6.2006 11:20 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Mě se zdá, že wget ukládá vždy do 'index.html', jestliže nemá k dispozici název souboru. Takže
    wget http://seznam.cz
    
    stáhne něco jiného než
    wget http://seznam.cz/index.html
    
    Ale přitom název souboru bude v obou případech 'index.html'. Takže buď ten název souboru známe (je součástí URL) nebo ho neznáme a pak je to index.html. Nebo jsou nějaké výjimky?
    20.6.2006 12:04 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Myslím, že podobně jako wget by se zachovalo tohle:
    #!/usr/bin/env python
    import sys,os,urlparse,urllib2
    
    conn = urllib2.urlopen(sys.argv[1])
    realurl = conn.geturl()
    parsed = urlparse.urlsplit(realurl)
    url_path = parsed[2] # Here is the path
    filename = os.path.split(url_path)[1]
    if not filename:
        print 'No filename available, using "index.html"'
        filename = 'index.html'
    file(filename, 'w').write(conn.read())
    
    Jestliže se pokusím stáhnout
    http://kf.fyz.fce.vutbr.cz/pub/ble
    
    tak to název souboru nenajde a stáhne to do "index.html". Zatímco
    http://kf.fyz.fce.vutbr.cz/pub/bla
    
    obsahuje konkrétní název souboru, ačkoli to z pouhé adresy nelze poznat. No a v tomto případě se použije název "bla". Zrovna tak to udělá i wget.
    20.6.2006 12:52 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Dík všem, vyzkouším vaše nápady. Je to semestrálka do unixu. Tento předmět je o skriptování v bashi. Program stáhne soubor z webu, vypreparuje html entity a vypočítá statistiky, kolikrát se to které slovo vyskytuje v textu. Takže např:
    ahoj   2
    slunce 3
    moře   1
    člověk 5
    atd...
    
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    20.6.2006 12:58 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Takže wget, ziskam soubor, cat soubor | sed {delete html} | awk { jeste musim vymyslet }. Ale to uz si chci vymyslet sam :-) nejsem lamka :-) Ahoj všem a užijte si sluníčka!
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    20.6.2006 13:14 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Proč ne rovnou
      wget -q -O- ... | sed ... | ...
    
    Případně pokud by se jednalo o slušný web, mohl byste k vyčištění použít xsltproc.
    20.6.2006 16:50 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Nebo to prostě stáhnout, prohnat XML parserem, rekurzivně projít všechny elementy, vybrat z nich text, ten rozložit na slova a zjistit jejich četnost:
    #!/usr/bin/env python
    import os,sys,elementtree.ElementTree, urllib2
    
    words = {}
    
    def add_to_words(text):
        for word in text.split():
            try:
                words[word] += 1
            except KeyError:
                words[word] = 1
    
    def find_text(elem):
        text = elem.text
        if text:
            add_to_words(text)
        for e in elem: find_text(e)
    
    conn = urllib2.urlopen(sys.argv[1])
    doc = elementtree.ElementTree.parse(conn).getroot()
    conn.close()
    find_text(doc)
    for k in words:
        print "%d: %s" %(words[k], k)
    
    Kéž by všechny stránky byly v XHTML strict...
    Testovat se to dá třeba na tomhle XML:
    http://www.w3schools.com/xml/plant_catalog.xml
    Je to nějaký seznam kytek nebo tak něco. Nejčastější slovo je "Shade" s osmnácti výskyty.
    21.6.2006 14:36 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Nerad se k tomu ještě vracím, ale program, který jsem napsal, je nepoužitelný pro "běžné" HTML, protože XML parser to nezchroustá. Je jasné, že HTML není XML, ale bylo by fajn, kdyby alespoň HTML 4.0 Transitional šlo nějak zkonvertovat. Zkoušel jsem stránku abclinuxu.cz. Validátorem prošla úspěšně, ale XML z toho vyrobit nedokážu - tidy zařve nějakou chybu:
    chorchoj:14:22:02 ~$ wget -q abclinuxu.cz
    chorchoj:14:22:26 ~$ tidy -xml index.html
    line 18 column 1 - Error: unexpected </head> in <meta>
    line 56 column 98 - Error: unexpected </a> in <img>
    line 57 column 6 - Error: unexpected </div> in <img>
    line 77 column 1 - Error: unexpected </div> in <img>
    line 77 column 7 - Error: unexpected </div> in <img>
    line 96 column 25 - Error: unexpected </form> in <input>
    0 warnings, 51 errors were found! Not all warnings/errors were shown.
    
    This document has errors that must be fixed before
    using HTML Tidy to generate a tidied up version.
    
    To learn more about HTML Tidy see http://tidy.sourceforge.net
    Please send bug reports to html-tidy@w3.org
    HTML and CSS specifications are available from http://www.w3.org/
    Lobby your company to join W3C, see http://www.w3.org/Consortium
    
    Zkoušel jsem i víc stránek - na každé je nějaký problém. Neznáte někdo nějaký jiný způsob, jak z HTML udělat well-formed XML?

    Když už jsem to načal, tak posílám i druhou variantu toho programu - je trochu stručnější a nalezená slova seřadí podle četnosti:
    #!/usr/bin/env python
    import os,sys,elementtree.ElementTree, urllib2
    
    words = {}
    def find_text(elem):
        for word in elem.text.split():
            words[word] = words.get(word, 0) + 1
        for e in elem: find_text(e)
    
    url = 'http://www.w3schools.com/xml/plant_catalog.xml'
    conn = urllib2.urlopen(url)
    doc = elementtree.ElementTree.parse(conn).getroot()
    conn.close()
    find_text(doc)
    w = [(y,x) for x,y in words.items()]
    w.sort()
    for num, word in w:
        print "%d: %s" %(num, word)
    
    ... ale jinak to trpí tím samým neduhem co předchozí verze.
    21.6.2006 15:37 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Celou tu opičárnu:
    w = [(y,x) for x,y in words.items()]
    w.sort()
    for num, word in w:
        print "%d: %s" %(num, word)
    jde v Python 2.4 nahradit
    for word, num in sorted(
                words.iteritems(),
                key=lambda x: x[::-1],
                reverse=True
            ):
        print "%d: %s" %(num, word)
    Principiálně je to totéž jako
    w = [(y,x) for x,y in words.iteritems()]
    w.sort()
    for num, word in w:
        print "%d: %s" %(num, word)
    Ale vypadá to víc perlish :) (jinak to použití iteritems místo items by mělo ušetřit trochu paměti, ještě trošku paměti by mělo ušetřit
    for word in sorted(
                words.iterkeys(),
                key=lambda x: (words[x], x),
                reverse=True
            ):
        print "%d: %s" %(words[word], word)
    ale tam už bude kulhat rychlost) Aneb správný perlista dokáže napsat perlový kód v jakémkoli jazyku :-D

    Pichi varuje: Tento příspěvek není kritika, jen má sloužit jako studijní materiál.

    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    21.6.2006 16:01 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Hohó, dík! Na iteritems() jsem úplně zapomněl, to je samozřejmě lepší. Takže můj favorit je prozatím tohle:
    w = [(y,x) for x,y in words.iteritems()]
    del words #šetříme pamětí
    w.sort()
    for num, word in w:
        print "%d: %s" %(num, word)
    

    Z těch dalších návrhů ten Perl úplně vidím, a coby studijní materiál se to určitě hodí ;-)
    Kritika mi nevadí - co mi vadí je prohánění HTML přes regulární výrazy.
    Josef Kufner avatar 21.6.2006 15:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    Proc to delat jednoduse, kdyz to jde slozite...
    lynx -dump www.abclinuxu.cz \
    | sed -e 's/[^a-z0-9]\+/ /g' -e 's/[ \t]\+/\n/g' \
    | sort \
    | uniq -c \
    | sort -n
    
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 21.6.2006 15:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: wget: co se vlastne stahlo?
    ...samozrejme to chce trosku doladit vyber zadanych znaku v tom sedu.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.