amazon, urlib, html seite parsen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
GAST

amazon, urlib, html seite parsen

Beitragvon GAST » Samstag 14. Januar 2006, 21:40

Hi

hat jemand schon versucht bei amazon oder ähnlichen seiten was rauszuparsen?

folgendes Problem

ich bin auf amazon.de drauf und dort bei deutschen büchern auf erweiterte suchen

da kann ich eine ISBN nr. eingeben.

auf dem button ist ein SUBMIT der die FROM abschickt.

wie kann ich jetzt auch dieses "script" aufrufen mit dem ISBN wert?

kann mir da einer helfen?

ziel ist es, z.b. mit urlib einen request an amazon zu schicken und dann die empfangene seite zu parsen, so dass ich an die buch infos komme

vielen dank im voraus

newkid
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 14. Januar 2006, 22:13

Du kannst auch einfach die Amazon SOAP-API verwenden, dann hast du's gleich viel einfacher.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Samstag 14. Januar 2006, 23:46

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
GAST

Beitragvon GAST » Sonntag 15. Januar 2006, 01:04

super vielen dank

wusste nicht, dass amazon sowas anbietet :)
GAST

Beitragvon GAST » Sonntag 15. Januar 2006, 12:08

hi

jetzt hab ich eine frage

ich hab ein Beispiel, wo ich mit hilfe von soappy nach keywords suchen kann

Code: Alles auswählen

_query = 'spotted owl'
request = { 'keyword':  _query,
            'page':     '1',
            'mode':     'books',
            'tag':      '',
            'type':     'lite',
            'devtag':   'HIER_MEINE_ID_;)'}

results = proxy.KeywordSearchRequest(request)



Das klappt auch prima, nur brauch ich ja eine suche nach der ISBN nr.

dazu hab ich folgendes probiert

Code: Alles auswählen

req = { 'asin':     '159059021X',
        'type':     'lite',
        'tag':      '',
        'devtag':   'HIER_MEINE_ID_;'}
results = proxy.AsinSearchRequest(req) 



Als Fehlermeldung kommt

File "C:\...\SOAPpy-0.12.0\SOAPpy-0.12.0\SOAPpy\Client.py", line 406, in __call
raise p
faultType: <Fault SOAP-ENV:Client: We encountered an error at our end while processing your request. Please try again
: AsinSearch: invalid input request>



warum klappt das nicht, die soap struktur müsste so passen, weis da einer rat?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 15. Januar 2006, 12:23

Nutzt du das SOAP.py? Das soll angeblich schrott sein, besser dieses nehmen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Gast

Beitragvon Gast » Sonntag 15. Januar 2006, 12:34

danke, wer ich mir anschauen.

hab mir diesen Wrapper hier besorgt

pyamazon-0.65

von

http://www.josephson.org/projects/pyamazon/

Das wäre eigentlich ganz einfach zu nutzen, hab es so eingesetzt

Code: Alles auswählen


import amazon
amazon.setLicense('MY_ID') # must get your own key!
pythonBooks = amazon.searchByASIN('B000BKVQS4')

for i in pythonBooks:
  print i



Als Fehlermeldung kommt

>>> <amazon.Bag instance at 0x00E6D710>

Ich meine, was soll ich in 2 Zeilen code grossartiges falsch machen können?

Das sind die Fkt die ich nutzen kann


Other available functions:
- browseBestSellers
- searchByASIN
- searchByUPC
- searchByAuthor
- searchByArtist
- searchByActor
- searchByDirector
- searchByManufacturer
- searchByListMania
- searchSimilar
- searchByWishlist


Warum bietet keiner seachByISBN an? Auch in der Soappy nicht :(
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 15. Januar 2006, 12:37

Anonymous hat geschrieben:Als Fehlermeldung kommt

>>> <amazon.Bag instance at 0x00E6D710>

Das ist keine Fehlermeldung sondern eine Bag-Instanz (Einkaufswagen?). Du kannst mit dir(i) schauen, was du mit dieser Instanz alles anstellen kannst.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
GAST

Beitragvon GAST » Sonntag 15. Januar 2006, 20:27

Danke

klar, hätte die Beschreibung aufmerksamer lesen sollen

mit der ASIN suche kann man auch ISBN nr eingeben.

der wrapper ist echt geil, da ich mit 2-3 zeilen zu meinem ergebnis komme :)

einfach noch

Code: Alles auswählen

amazon.setLocale('de')


aufrufen, und ich kann brd isbn nr. suchen


danke für die ratschläge

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder