Stažení obrázku každých x sekund

Všechny ostatní programy, které nemají samostatnou sekci

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod skype 22. 4. 2012 19:40

Hledám program, který by mi stáhl obrázek z internetu každých x sekund.
Díky :)
I Scream Sandwich :)
skype
Junior
Uživatelský avatar

Odeslat příspěvekod SpaceExplo 22. 4. 2012 20:00

wget ve skriptu
pro windows: http://unxutils.sourceforge.net/
SpaceExplo
Junior

Odeslat příspěvekod Aleš Janda 22. 4. 2012 20:13

Pro X == třeba 5 sekund:
Kód: Vybrat vše
while [ true ]; do wget http://…/obrazek.jpg; sleep 5; done
Aleš Janda
Junior
Uživatelský avatar

Odeslat příspěvekod skype 22. 4. 2012 20:57

AJ: To vložím do plánovače úloh a jako program vyberu wget? A jak zvolím složku pro stahování?
I Scream Sandwich :)
skype
Junior
Uživatelský avatar

Odeslat příspěvekod vladimir 22. 4. 2012 21:43

Pod Windows?

Musíš zadat nejenom složku, ale taky generovat jedinečné názvy, aby se ti ty obrázky nepřepisovaly, pokud je potřebuješ archivovat.
Nástin generování názvu souboru z aktuálního datumu a času: http://it.cestuji.info/bat/datum-cas-do ... ouboru.php

Můžeš spustit dávkový soubor, který poběží v nekonečném cyklu, nebo ho plánovačem cyklicky spouštět.

Varianta k wget je program curl http://curl.haxx.se/gknw.net/win32/ (wget nepoužívám, syntaxi neznám).
Základní syntaxe k curl pod windows:
Kód: Vybrat vše
c:\cesta\curl.exe http://url/nazev.jpg > c:\cesta\nazev.jpg

Výhoda: kompletní distribuce včetně všech potřebných DLL klihoven a podrobného návodu.
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod skype 22. 4. 2012 22:14

curl vypadá přátelštěji, díky :)
Tzn. teď mám
Kód: Vybrat vše
c:\curl-7.24.0-devel-mingw32\bin>curl.exe http://www2.hak.hr/hak_webcam/cam.asp?
id=35 > c:\macejl\1.jpg

Prošel jsem celý manuál, ale nenašel jsem nic, co by říkalo něco o stažení každých x sekund. Mohl bys mě navézt? :)
I Scream Sandwich :)
skype
Junior
Uživatelský avatar

Odeslat příspěvekod vladimir 22. 4. 2012 22:19

Vytvoř si dávku neco.bat a v ní vytvoř nekonečný cyklus. Pro 5 vteřin se dá časování udělat třeba 6-ti násobným pingem:
Kód: Vybrat vše
:10
curl.exe http://www2.hak.hr/hak_webcam/cam.asp?id=35 > c:\macejl\1.jpg
ping -n 6 localhost > NUL
goto 10
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod skype 22. 4. 2012 22:54

Super, děkuju :) Mám to takto
Kód: Vybrat vše
:10
@For /F "tokens=1,2,3,4 delims=. " %%A in ('Date /t') do @(
Set den=%%B
Set mesic=%%C
Set rok=%%D
)

@For /F "tokens=1,2 delims=: " %%A in ('time /t') do @(
Set hodina=%%A
Set minuta=%%B
)
curl.exe http://www2.hak.hr/hak_webcam/cam.asp?id=35 > c:\macejl\%rok%_%mesic%_%den%_%hodina%%minuta%_nazev.jpg
ping -n 30 localhost > NUL
goto 10

a funguje to

Nedaly by se ale ještě tady
vladimir píše:Nástin generování názvu souboru z aktuálního datumu a času: http://it.cestuji.info/bat/datum-cas-do ... ouboru.php

přidat sekundy?
I Scream Sandwich :)
skype
Junior
Uživatelský avatar

Odeslat příspěvekod vladimir 23. 4. 2012 07:40

Lze. (I setiny sekund lze, kdyby to bylo potřeba.)

Kód: Vybrat vše
:10
@For /F "tokens=1,2,3,4 delims=. " %%A in ('Date /t') do @(
Set den=%%B
Set mesic=%%C
Set rok=%%D
)
@For /F "tokens=1,2,3 delims=:, " %%A in ('echo %time%') do @(
Set hodina=%%A
Set minuta=%%B
Set sekunda=%%C
)

curl.exe http://www2.hak.hr/hak_webcam/cam.asp?id=35 > c:\macejl\%rok%_%mesic%_%den%_%hodina%%minuta%%sekunda%_nazev.jpg
ping -n 30 localhost > NUL
goto 10


Poznámka: pro pauzu 30 sekund by tam mělo být teoreticky 31 pingů, ale ono je to stejně jenom přibližné časování. Navíc ten CURL to taky někdy stáhne okamžitě, jindy může být server zaneprázdněný a stažení trvá déle a tento čas se taky připočítává k délce cyklu.
Pokud bys tedy chtěl ty intervaly dělat přesně, muselo by se to časování vymyslet jinak (přes plánovač úloh, třeba).
Naposledy upravil vladimir dne 23. 4. 2012 11:30, celkově upraveno 1
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod skype 23. 4. 2012 11:30

Díky moc :) Intervaly stačí opravdu jen přibližně.
I Scream Sandwich :)
skype
Junior
Uživatelský avatar

Odeslat příspěvekod vladimir 23. 4. 2012 11:56

Vyzkoušej si to, když tak se ozvi, zkoušel jsem to na XPx64, tam mi to funguje, ale české windows jiné edice by teoreticky mohly mít drobné odlišnosti (tečku místo čárky mezi vteřinama a setinama nebo jakékoliv jiné překvapení, jeden nikdy neví, Microsoft mi těma polovičatýma nedotaženýma pokusama o národní prostředí v DOSu pije krev), které by se musely doladit.
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod oooooooooo 23. 4. 2012 12:36

Jenom pro zajimavost windows toto umi od určite edice samy od sebe a bez jakehokoliv programu třeti strany - jenom je to trošku malo znamé.Zakladem je použiti BitsTransfer a powershellu - takže od seven stači prostě cmdlet v ps. .A zaklad vypada takto
$Job = Start-BitsTransfer -Source http://upload.wikimedia.org/wikipedia/c ... _Kenya.jpg -Destination E:\Dropbox -Asynchronous


while (($Job.JobState -eq "Transferring") -or ($Job.JobState -eq "Connecting")) `
{ sleep 5;} # Poll for status, sleep for 5 seconds, or perform an action.

Switch($Job.JobState)
{
"Transferred" {Complete-BitsTransfer -BitsJob $Job}
"Error" {$Job | Format-List } # List the errors.
default {"Other action"} # Perform corrective action.
}
No a potom už se jenom přida podminka - spust co X a s každym jednim staženym udělej to a to...Spouštim napřimo,spouštim jako ps1
Mimochodem
Kód: Vybrat vše
Microsoft mi těma polovičatýma nedotaženýma pokusama o národní prostředí v DOSu pije krev), které by se musely doladit.
Pravě proto všechno spouštim v PS těch věci co mně žralo krev v připadě at už cmd nebo bataku bylo povicero a je to celkem lek na ty nejznamější.
http://seven7.blog.zive.cz/
Spuštění Windows předchází pád.
oooooooooo
Pokročilý
Uživatelský avatar

Odeslat příspěvekod skype 23. 4. 2012 13:45

vladimir píše:Vyzkoušej si to, když tak se ozvi, zkoušel jsem to na XPx64, tam mi to funguje, ale české windows jiné edice by teoreticky mohly mít drobné odlišnosti (tečku místo čárky mezi vteřinama a setinama nebo jakékoliv jiné překvapení, jeden nikdy neví, Microsoft mi těma polovičatýma nedotaženýma pokusama o národní prostředí v DOSu pije krev), které by se musely doladit.

Ve Win7 a WHS2011 to funguje, takže ještě jednou děkuju :-)
I Scream Sandwich :)
skype
Junior
Uživatelský avatar


  • Podobná témata
    Odpovědi
    Zobrazení
    Autor

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků