Seite 1 von 1

amazon, urlib, html seite parsen

Verfasst: Samstag 14. Januar 2006, 21:40
von GAST
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

Verfasst: Samstag 14. Januar 2006, 22:13
von Leonidas
Du kannst auch einfach die Amazon SOAP-API verwenden, dann hast du's gleich viel einfacher.

Verfasst: Samstag 14. Januar 2006, 23:46
von gerold

Verfasst: Sonntag 15. Januar 2006, 01:04
von GAST
super vielen dank

wusste nicht, dass amazon sowas anbietet :)

Verfasst: Sonntag 15. Januar 2006, 12:08
von GAST
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?

Verfasst: Sonntag 15. Januar 2006, 12:23
von Leonidas
Nutzt du das SOAP.py? Das soll angeblich schrott sein, besser dieses nehmen.

Verfasst: Sonntag 15. Januar 2006, 12:34
von Gast
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 :(

Verfasst: Sonntag 15. Januar 2006, 12:37
von Leonidas
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.

Verfasst: Sonntag 15. Januar 2006, 20:27
von GAST
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