Gå til innhold

[Løst] Laste ned samtlige Lunch-striper fra Dagbladet


Anbefalte innlegg

Videoannonse
Annonse

 

Ja (et ikke så massivt). For brukere i det hele tatt, og støtte for applikasjoner rundt hele verden, samt spill, så er Windows uten tvil vinneren.

Nåja. Kanskje på spillfronten.

 

 

Nå tar heldigvis selskaper fatt og satser på støtte på tvers av platformer, men linux er fortsatt ikke intressant nok for massene.

Dette er utrolig off topic, men når du tyr til dette bør du fikes forsiktig over ansiktet med en ørrett. Det er nemlig helt uvesentlig og et utrolig dårlig poeng å ta opp - faktum er nemlig at her hadde *nix userland (som er ganske portabelt) løst problemet, også for "massene". At massene, om de i det hele tatt hadde vært interessante, verken har behovet eller forstår at de har behovet har ingenting med saken å gjøre.

 

Lyc bruker vel open solaris anyhows.

Debian.

 

 

1. og ellers

 

2. ren b/s. igjen feil.

Lenke til kommentar

Bra du kommer med velformulerte og gjennomtenkte svar.

 

Faktum er at du promoterer det hele ved å skyve massene (og hvem kan ha mer rett enn massene, liksom) foran deg. Massene blir heller aldri egentlig definert. Hvem er massene? Det bidrar ingenting, det taler egentlig ikke saken din og det er en billig teknikk som dreper både diskusjon og intellekt. Det synes jeg vi skal holde oss for gode til.

Endret av Lycantrophe
Lenke til kommentar

 

Ah, mente selvsagt 45-60 spørringer/iterasjoner, f.eks. fra koden lenger opp.

$date = '2014-02-20'; // Startdato
$end_date = '2014-04-20'; // Sluttdato

 

Folkens, det virker for meg som at dette skriptet også kan hente striper fra datoer som er frem i tid?

 

strip_from_date_2014-03-26.jpg

EBoaIMq.jpg

Lenke til kommentar

for day in {0..6}; do DATE=$(date +%s -d "$(date +%F) - $day day"); wget -b -O lunch-$DATE.gif "www.dagbladet.no/tegneserie/pondusarkiv/serveconfig.php?date=$DATE&strip=lunch"; done
Laster ned dagens og forrige uke. Kjører du den hver søndag får du mandag->søndag.

 

do DATE=$(date +%s -d $(date +%F); wget -b -O lunch-$DATE.gif "www.dagbladet.no/tegneserie/pondusarkiv/serveconfig.php?date=$DATE&strip=lunch"
Denne laster alltid ned dagens.

 

Legg i cron e.l. med riktig intervall.

Endret av Lycantrophe
Lenke til kommentar
  • 7 måneder senere...

Er det noen som har en lur måte å batch-downloade alle Lunch-stripene fra dagbladet.no?

Tenkte på det samme, så jeg kokte sammen et lite program som gjør det. Jeg har laget en schedule som kjører det hver dag... det kjører usynlig i bakgrunnen, så man skal ikke merke noe særlig til det :)

 

Last ned

 

I tillegg til "grunnfunksjonen" kjører den MD5 på alle filene den laster ned og sletter duplikatfiler (irriterende når de bruker samme stripen flere ganger) og den prøver også å laste ned tre dager fremover. Den sletter også ugyldige filer :)

 

For å velge hvilke serier man kan laste ned har jeg brukt en XML-fil som spesifiserer det, pluss antall dager bakover man vil laste ned (default 14).

<?xml version="1.0" encoding="utf-8"?>
<Dagbladet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Tegneserie>
    <DbNavn>pondus</DbNavn>
    <Mappe>Pondus</Mappe>
    <Dager>14</Dager> <!-- default: 14 -->
    <Extension>gif</Extension> <!-- default: gif -->
  </Tegneserie>
  <Tegneserie>
    <DbNavn>lunch</DbNavn>
    <Mappe>Lunch</Mappe>
  </Tegneserie>
</Dagbladet>
Edit:

 

Fant ut at en av seriene bruker .jpg så jeg la til en optional tag i settings der man kan endre dette. En annen ting jeg glemte å nevne er at den sjekker om stripene eksisterer før den prøver å laste dem ned, men den sjekker hver gang etter dupes + ugyldige filer (for å fikse dette må jeg ha en loggfil, og det er mye arbeid for nesten ingenting)

 

Edit2: Det er skrevet i C#, så fanboiz av Linux vil sikkert heller bruke perl/python/bash/whatever. Det er kompilert for .net 4 og fungerer muligens i mono, men dette er for n00bs som bruker windows :)

 

Ting kunne vært gjort mer fleksible, men jeg tipper målgruppen er liten.

Endret av pifler
  • Liker 3
Lenke til kommentar
  • 1 måned senere...

Mitt powershell-bidrag:

$timestamp = Get-Date -Format "yyyy-MM-dd"
$webClient = New-Object System.Net.WebClient

$comics = @("pondus","lunch","nemi")

foreach ($comic in $comics)
    {
        $htmlsource = Invoke-WebRequest -Uri http://www.dagbladet.no/tegneserie/$comic/
        $startindex = $htmlsource.Content.IndexOf("http://www.dagbladet.no/tegneserie/pondusarkiv/serveconfig.php?")
        $stopindexvar = "&strip=$comic"
        $stopindex = $htmlsource.Content.IndexOf("$stopindexvar")
        $imageuri = $htmlsource.Content.Substring($startindex,($stopindex - $startindex)) + $stopindexvar
        $webClient.DownloadFile($imageuri,"$env:USERPROFILE\Desktop\$comic-$timestamp.gif")
    }

I $comics-arrayet kan du legge til eller fjerne tegneserier etter hva du ønsker og hva dagbladet har. Laster ned dagens stripe til desktop med dagens dato :)

Kan sikkert gjøres penere, klasket det sammen i dag tidlig.

Endret av Khaffner
  • Liker 1
Lenke til kommentar

Vil du ha en liste over ting som ikke kommer bundlet med Windows?

 

Det at du ikke det hele tatt gidder å strekke posten min til å kun omfatte linux-kjernen og ikke linux-baserte OS når du vet bedre viser bare dickishness. Du vet at de eneste dependenciene til løsningen min er bash og wget, og de er ikke OS-eksklusive.

 

Gjett hvilke løsninger som er.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...