Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 20.08.07 16:00 
href Downloader - 0.3b

dies ist ein kleines Projekt, welches ich vor einiger Zeit entwickelt habe.
Ich habe es bisher nicht veröffentlicht, weil es noch nicht ganz so funktioniert wie es soll, deshalb
poste ich es jetzt in der OpenSource Sparte in der Hoffnung, dass es doch noch einen "fertigen" Zustand erreicht ;)

Was tut / kann dieses Programm ?

Dieses Programm durchsucht eine Website auf sämtliche href Inhalte und ist in der Lage, diese herunter zu laden.
Dies ist nützlich, wenn man eine Seite mit besonders vielen ähnlichen Inhalten hat und nicht möchte, diese
alle einzeln anzuklicken und herunter zu laden.
Es gibt eine Filter-Funktion, es lässt sich allerdings bisher nur eine Endung eingeben.
Es gibt diverse Anzeigen und zwei Status Balken.

Was funktioniert noch nicht ?

Es gibt eine Funktion zum abbrechen des kompletten Download Vorgangs und eine um eine Datei zu überspringen, jedoch
funktionieren beide noch nicht richtig.

Benötigte Komponenten:

INDY (idhttp)

UPDATE 1:
  1. Listbox wurde ein wenig überarbeitet
  2. Abfrage auf gültige Dateiendung (noch nicht ganz fertig, aber sollte zum großteil verhindern, dass diverse javaskripte in "href"s als Dateien erkannt werden


UPDATE 2:
  1. Versionsnummer hinzugefügt (0.3b)
  2. Read TimeOut Fehler umgangen (dank Regan)
  3. Anzeige des Content Types
  4. Downloadliste alphabetisch sortierbar


UPDATE 3:
  1. Version 0.4b
  2. Einige Exceptions umgangen (treten mit debugger trotz try except trotzdem auf)
  3. Es lassen sich nun mehrere URLs in eine Liste eintragen (verschieben der Einträge geht noch nicht, da mehrere selektiert werden können, was das ganze ein wenig komplizierter macht, ist in Version 0.5b schon drin, aber ich warte noch mit dem Release bis 0.4b ausführlicher getestet wurde)
  4. Nachfrage ob der Download gestartet werden soll ist abschaltbar
  5. Keyword Suche: es werden nur Dateien heruntergeladen, die den Suchstring enthalten
  6. Bei obigem Feature lässt sich Case-Sensitivität abschalten


Ideen für die Zukunft:

  1. Komplett neue Programmstruktur / Layout / Code
  2. Anzeige der geschätzten verbleibenden Zeit
  3. Einstellungen in Extra-Fenster
  4. Unterordner können bis zu einer bestimmten Tiefe oder komplett einbezogen werden
  5. Seitensuche via Google (als mirror suche, zb für ein bestimmtes programm), damit verbunden vielleicht irgendwann auch mal das feature eine datei von verschiedenen servern herunterzuladen, sprich mehrere server für eine datei zu nutzen, um die downloadgeschwindigkeit zu maximieren

Ich hoffe mal das alles so funktioniert wie es soll ;)

EDIT:
Das Programm ist nun nur noch als Quellcode verfügbar.

Quellcode und Exe sind angehängt (dies ist eine Beta-Version!, Benutzung auf eigene Gefahr!)
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von F34r0fTh3D4rk am Di 28.04.09 18:15, insgesamt 13-mal bearbeitet
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 20.08.07 17:25 
Sohoho. Ich habe es mir mal angeschaut (mit meiner Website) und ein paar kleine Dinge, die ich ändern würde.

  1. Dein Programm kann (Wie Windows auch) keine php-Get-Parameter speichern (Z.B.: index.php?id=1).
  2. Einen Abrufenknopf, der es mir ermöglicht, die Daten der Website abzurufen. (Noch kein Download)
  3. Checkboxen für jede Datei (Kannst ja Checkgroup nehmen) (Damit entfällt SkipFile
  4. Bei den CheckBoxen dann noch "Alles markieren" (standardmäßig), "Nichts markieren", "Download Selected"
  5. Dazu bei Rechtsklick auf die CheckBox: Popupmenu mit Datei herunterladen, Datei herutnerladen nach usw.
  6. Einstellungen für bereitsvorhandene Dateien.

Aber sonst ganz nett gemacht und vor allem für den Massendownload von Bildern sehr gut geeignet. :zustimm:
Weiter so.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 20.08.07 17:51 
bei der sache mit den get parametern hab ich noch keine lösung gefunden.
es werden zunächst auch nur die inhalte gelistet bevor der download beginnt, also ist es kein problem vorher die inhalte anzeigen zu lassen, ich hab ja jetzt schon nen popup mit der anzahl der dateien und ne abfrage ob man downloaden möchte.

aber bevor ich weitere features einbaue, möchte ich erst einmal, dass die alten probleme gefixt sind ;)


mfg
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 20.08.07 22:27 
Ich habe mir mal den Code herutnergeladen. Mal schaun was sich machen lässt.

Edit: Könntest du mir mal eine Beispieldatei für einen Read-Out-Fehler geben?
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 21.08.07 09:46 
ich hab auch grad keine parat, aber meistens bei seiten mit vielen downloads, da kommt sowas eigentlich immer vor ;)

hier ist sicher etwas dabei ;)

www.google.de/search...ogle-Suche&meta=

wenn ich folgende download methode nehme, gibt es keine read timeout probleme:
ausblenden Delphi-Quelltext
1:
2:
3:
          // DOWNLOAD
        //  Download(astrl[i], fulltarget);
          urldownloadtofile(nil, pchar(astrl[i]), pchar(fulltarget), 0nil);


allerdings habe ich so auch keine statusbalken etc.

€: Der Fehler tritt auf, wenn die datei auf dem server nicht existiert oder fehlerhaft ist. nur wie kann ich diesen
Fehler abfangen ?

€: Problem "gelöst". naja eher umgangen, ich hatte zwar schon try / except blöcke um die gets, aber das waren nicht die einzigen quellen, ein großes try except sorgt dafür, dass der fehler ignoriert wird. neue version wird sofort geuppt.

mfg
Masthe
Hält's aus hier
Beiträge: 13


Delphi & Projektmanagement
BeitragVerfasst: Sa 25.08.07 18:17 
Titel: soweit gut gelungen!
Hi F34r0fTh3D4rk,
das tool ist bisher gut gelungen, weiter so! ;)
die zweifarbige Listbox find ich nice ;)

ich hab vor längerer zeit auch mal (als ich noch kein internet hatte und nur in der schule sozusagen für ein paar minuten ins netzt konnte) so ein progrämmchen gemacht
das ist der PageLoader (auch auf meiner Site zu finden)
hier die file: delphi-lernen.de/eig...ageloader_stable.zip

wie gesagt ist etwas zeit her und damals hab ich noch null kommentare gemacht, daher werd ich den Source nicht veröffentlichen, weist ja:
Real programers do not comment their code.
It is hard to write and it should be hard to understand. ;)

naja und @Regan ich hatte damals die idee die get-parameter mit in den dateinamen zu schreiben, aber das dann erst zur 2.0 aber dann ist bei uns ein neuer nachbar eingezogen, bei dem ich dann als ins internet konnte wann ich wollte so lange ich wollte und das internet-problem war gelöst :)

MfG
Marco

_________________
Die Zukunft hängt davon ab, was wir heute tun. (Mahatma Gandhi)
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 26.08.07 17:24 
hi, danke, das programm war auch eigentlich nicht als opensource geplant, aber was solls ;)

mfg
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 15.09.07 22:09 
Es gibt wieder eine neue Version, alles wichtige steht im ersten Beitrag.
Des weiteren sollte ich mal die Fehler die idhttp ausspuckt mal genauer analysieren, aber wenn man das
Programm nicht im Debugger startet, sollte es keine Probleme geben ;)

mfg
chest3rs
Hält's aus hier
Beiträge: 11


Delphi 2007
BeitragVerfasst: So 18.11.07 16:49 
Titel: BUG
Am Anfang war ich echt zufrieden mit dem Tool und es erfüllte seine Aufgaben gut. Doch auf anderen PCs auch mit XP tritt der Fehler auf, dass er nur 10,9 KB von der jeweiligen Datei runterläd. Alle Dateien hatten die gleiche Größe. Vielleicht kannst du herausfinden, woran das liegt.


Vielleicht wäre es möglich, noch Unterordner mit einzubeziehen. Das wäre sehr hilfreich.

Peace.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 18.11.07 17:38 
das mit den unterordnern hatte ich auch überlegt. Ebenso, ob man mehrere Seiten angeben kann, von denen heruntergeladen werden soll.
Woher der Fehler kommt, kann ich dir nicht sagen, bei mir sind schon allerhand skurile Dinge, von denen ich glaubte, sie einigermaßen gefixt zu haben. Deshalb habe ich das Projekt komplett mit Source veröffentlicht, damit somit die letzten Fehler ausgemerzt werden können ;)


mfg
chest3rs
Hält's aus hier
Beiträge: 11


Delphi 2007
BeitragVerfasst: Do 17.01.08 13:10 
Titel: Geschwindigkeit
Hallo Leute,

da ich das Programm sehr praktisch finde, beutze ich es immer noch.
Mir ist aufgefallen, dass der Downloader bei großen Dateien Probleme hat, die Geschwindigkeit beizubehalten. Und das beginnt schon bei mehreren MB. Ich hab beobachtet, dass er dann für 40KB ca. ne Minute braucht... :cry:

F34r0fTh3D4rk:
Machst du das Projekt weiter? Sonst würd' ich mich mal mit dem Thema auseinandersetzen...

Grüße

[EDIT]

Das Programm bleibt bei einer 10MB großen Datei hängen. Es sieht zwar so aus, als würde es langsam runterladen, doch auf der Festplatte ist die Datei plötzlich 150MB groß...
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.01.08 16:20 
Da ich momentan (und das schon länger) nicht daran arbeite, habe ich es als OpenSource Projekt veröffentlicht. Ich hatte zwar noch einige Feature Ideen, aber momentan habe ich einfach zu wenig Zeit.

mfg