bilder suchergebnisse speichern

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Dusselchen14

Betreff: bilder suchergebnisse speichern

BeitragSo, Nov 29, 2009 4:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
kennt jemand ein Tool, welches alle (oder sagen wir lieber eine bestimmte anzahl) biLder (suchergebnisse) der google bildersuche (oder auch anderer bildersuchmaschienen) speichert?
Gibt es sowas überhaupt?
Falls nicht, wäre das irgendwie (mit bb) zu realisieren? Glaube ich zwar nicht, aber ich glaube viel wenn der Tag lang ist.
Ich hoffe ich konnte mich nachts um kurz vor 4 noch einigermaßen verständlich ausdrücken.
Danke,
Dusselchen14

DerHase

BeitragSo, Nov 29, 2009 7:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke Google würde sowas nach paar Anläufen für paar Minuten sprerren. Manchmal muss ich ziemlich intensiv Sachen suchen und Google hat mich schon des öfteren als Bot erkannt, obwohl ich mich noch nicht so sehr robotikartig finde Very Happy
Play Satyr!

Geeecko

BeitragSo, Nov 29, 2009 11:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist möglich. Sogar sehr gut, ohne das Google einen als Bot erkennt.
http://images.google.de/images...amp;tab=wi
Habe mal nach Hase gegoogelt.
Jetzt schau dir mal die Bild Adresse vom 3 Bild an:
Zitat:
http://t0.gstatic.com/images?q=tbn:giSQpTClweHixM:http://www.tierheim-nied.de/assets/images/HASE.jpg


was siehste?
Zitat:
http://www.tierheim-nied.de/assets/images/HASE.jpg


und das steht alles im Quelltext drin... Das heißt du musst die Seite nur einmal laden. Wenn du mehrere Seiten haben willst, würde ich dazwischen vllt nen paar Sekunden warten...
....

Dusselchen14

BeitragSo, Nov 29, 2009 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
einlauchtend.
nur wonach soll ich denn den quelltext dursuchen?
die Adressen der Bilder kennt das Programm ja nicht und die sind ja auch immer verschieden.

Ich glaube jetzt passt das ganze langsam nichtmehr in "Smallltalk" oder?^^
EDIT:
Hab mal einen nur halb funktionierenden ansatz gecodet. kann sich den mal jemand ansehen?:
Code: [AUSKLAPPEN]
Graphics(800,400,16,2)
Loadtcpfile("http://images.google.de/images?q=kirsten%20stewart&oe=utf-8&rls=org.mozilla:de:official&client=firefox-a&um=1&ie=UTF-8&sa=N&hl=de&tab=wi","quell.txt")
file=ReadFile("quell.txt")

Repeat
Linex$=ReadLine(file)


Repeat

picin=Instr(linex$,".jpg",picin+3)


adressin=Instr(linex$,"http",adressin+1)
If picin>pic1 Then
link$=Mid(linex$,adressin,picin-adressin+4)
linkend=Instr(link$,".jpg")
link$=Left(link$,linkend+3)

If Right(link$,3) ="jpg" Then

EndIf

EndIf


Until picin =0


Until Eof(file)

Function LoadTCPfile%(url$,save$)
   host$="www"+Mid$(url$,Instr(url$,"."),Instr(url$,"/",8)-Instr(url$,"."))
   tcp=OpenTCPStream(host$,80)
   
   If Not tcp Then
    Print "Verbindung Fehlgeschlagen"
   Return "no"
   Goto no
   EndIf
      
WriteLine tcp,"GET "+url$+" HTTP/1.0"+Chr(10)
   WriteLine tcp,"Host: "+host$+Chr(10)
   WriteLine tcp,Chr$(10)
   If Eof(tcp) Print "Verbindung Fehlgeschlagen"
   Repeat
      z$=ReadLine$( tcp )

   Until z$=""
   
   dat=WriteFile(save$)
   While Not Eof(tcp)
      byte=ReadByte( tcp )
      WriteByte dat,byte
   Wend
.no
   CloseFile dat
   CloseTCPStream tcp


   
End Function

Badudel

BeitragMo, Nov 30, 2009 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich dich richtig verstanden habe, willst du alle Pics aus der Google-Bildersuche speichern (oder?).

Das heißt, du könntest einfach die Seite per HTTrack abspeichern, der kann auch verlinkte Seiten mitspeichern, außerdem speichert er Bilder mit. Wäre das eine Alternative?

Gruß
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik!

Geeecko

BeitragMo, Nov 30, 2009 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Links sind nach einem bestimmten Schema abgespeichert Wink
Wenn du das einmal herausgefunden hast, dann kannst du es immer verweden, für jede Google-Bild Seite Wink
....

mpmxyz

BeitragMo, Nov 30, 2009 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
"imgurl=" sollte das sein, wonach man suchen muss.
Danach geht fängt die URL des Bildes an.
Diese geht dann bis zum nächsten "&". ("&imgrefurl=" stand dann bei mir da.)
Denke daran, die ganzen "%3D" bzw. "%HexZahl"-Angaben zu ersetzen.
Die zweistellige hexadezimale Zahl nach dem Prozentzeichen steht für einen ASCII-Code.

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Jolinah

BeitragMo, Nov 30, 2009 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Zufälligerweise habe ich genau das gemacht vor paar Tagen Very Happy Mein Programm dient aber hauptsächlich der Wallpaper-Suche und bisher habe ich es nur privat genutzt. Aber wer möchte kann es gerne verwenden (es wird allerdings .NET 3.5 benötigt, da es in WPF geschrieben wurde):

Download: http://zehr.de/downloads/WallpaperSearch.zip

Screens:
http://zehr.de/downloads/screen1.png
http://zehr.de/downloads/screen2.png
http://zehr.de/downloads/screen3.png

Im Moment kann man nur die Resultate der ersten Seite anzeigen, später baue ich evtl. noch ein Blättern ein, wie bei Google.


@dusselchen

Achte im Quellcode von Google mal auf folgendes:

Code: [AUSKLAPPEN]
dyn.setResults([[...],[....],[...]]);


In jedem [...]-Block ist ein Bild, mit URL des Bildes, Beschreibung, URL des Thumbnails, Grösse des Thumbnails und viele weitere Angaben...

Das mit der Thumbnail URL ist etwas speziell, der eine Parameter ist nur der Querystring für die Thumbnail-URL und ein anderer Parameter die URL ohne Querystring. Das heisst man muss das noch zusammensetzen... Wink

Dusselchen14

BeitragMo, Nov 30, 2009 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dank an euch alle. besonders an mpmxyz. Ich werde morgen oder übermorgen was neues schreiben.

Zitat:
Denke daran, die ganzen "%3D" bzw. "%HexZahl"-Angaben zu ersetzen.

bei mir steht im quelltext nicht "%3D" sondern "\x3d" ist das normal??
 

Nox

BeitragDi, Dez 01, 2009 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
So was brauchte ich auch mal. Smile Falls du also noch nicht weiter gekommen bist, hätte ich hier ein Python-Skript, dass nach Keywords alle Bilder auf allen Seiten speichert. Übrigens hat mich Google da auch bei längeren Sessions nicht gesperrt.

Sollte leicht auf BB zu portieren sein. Im Grunde ist eh nur der reguläre Ausdruck interessant (gibt's zwar in BB nicht, aber hier dürfte man auch mit den normalen String-Funktionen glücklich werden): http://pastebin.org/59174

Falls du das mit Python probieren willst: Bitte eine Version unter 3 nehmen.

Dusselchen14

BeitragDi, Dez 01, 2009 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Also. Ich hab jetz mal einen relativ gut funktionierenden Code gebacken:
Code: [AUSKLAPPEN]
url$="http://images.google.de/images?q=kirsten%20stewart&oe=utf-8&rls=org.mozilla:de:official&client=firefox-a&um=1&ie=UTF-8&sa=N&hl=de&tab=wi"

Graphics(800,400,16,2)
tcp = OpenTCPStream("www.google.de", 80)
If Not tcp Print "Fehlgeschlagen": WaitKey : End

WriteLine tcp, "GET " +url$+ " HTTP/1.0"
WriteLine tcp, Chr$(10)
If Eof(tcp)  End

While Not Eof(tcp)
  la$=la$+ReadLine(tcp)
Wend


Repeat

 httpin=Instr(la$,"imgurl",httpin+1)
jpgin=Instr(la$,"\x26imgrefurl",jpgin+1)




anz=jpgin-10
anz=anz-httpin
 adress$=Mid(la$,httpin+10,anz)
For ASCII=32 To 255 ;Ich weiß nicht, wie weit man das optimieren kann.
If ASCII<>37 ;Das Prozentzeichen darf erst nach allen anderen Zeichen entstehen.
adress$=Replace(adress$,"%"+Right(Hex(ASCII),2),Chr(ASCII))
EndIf
Next
adress$=Replace(adress$,"%"+Right(Hex(37),2),"%")
ExecFile adress$
WaitKey



Until httpin=0

Wenn man sich das Ganze jetzt aber mal genauer ansieht wird man 2 Sachen feststellen:
Arrow 1. Die ASCIIs(%20 ect) werden (noch) nicht ersetzt und die mit einem "; =(" versehenen Stellen sind sicher eleganter zu lösen. (wie?)Edit: Danke an mpmxyz!
Arrow 2. Wenn man sich die dazugehörige Googleseite anschaut:
http://images.google.de/images...amp;tab=wi
wird man festellen, dass die Reihenfolge der angezeigten Bilder nicht mit der Googleseite übereinstimmt und sogar manchmal Bilder der x. (z.B. 2. Seite) angezeigt werden.
Wie kann das sein?

PS: Könnte ein Mod das bitte verschieben. ich werd das Gefühl nicht los, dass Smalltalk nichtmehr passt.
  • Zuletzt bearbeitet von Dusselchen14 am Di, Dez 01, 2009 22:16, insgesamt einmal bearbeitet

mpmxyz

Betreff: 2 Dinge

BeitragDi, Dez 01, 2009 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
For ASCII=32 To 255 ;Ich weiß nicht, wie weit man das optimieren kann.
If ASCII<>37 ;Das Prozentzeichen darf erst nach allen anderen Zeichen entstehen.
adress$=Replace(adress$,"%"+Right(Hex(ASCII),2),Chr(ASCII))
EndIf
Next
adress$=Replace(adress$,"%"+Right(Hex(37),2),"%")

und
BlitzBasic: [AUSKLAPPEN]
Until httpin=0 ;Dann wurde ja gar kein weiteres "imgurl" mehr gefunden...

So sollte es funktionieren.
mfG
mpmxyz

Edit: "Hex" gibt immer einen String mit 8 Zeichen zurück...
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

FWeinb

ehemals "ich"

BeitragDi, Dez 01, 2009 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Muss das ganze in BlitzBasic sein oder würde dir auch BlitzMax Code helfen?
Hätte hier etwas welche ich nur eben umschreiben müsste.

MfG
ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Dusselchen14

BeitragDi, Dez 01, 2009 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
@mpmxyz
Danke, werds gleich mal einbauen^^
@ich
da ich kein bmax kann, wirds mir denke ich leider nicht helfen. Aber danke^^

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group