You are not logged in.

  • Login

1

Thursday, June 22nd 2006, 11:25pm

Amazon Web Serivce: Kategorien/Browsernodes

tach zusammen !
bin gerade mit dem Amazon Web Service am experimentieren.
Dabei gibt es die methode browseNodes mit der man sich die Produkte in bestimmten Kategorien anzeigen lassen kann. Mein Problem ist jetzt, dass ich nicht genau weiß wie ich die Kategorieliste von amazon holen kann, sprich welche Methode dafür verantwortlich ist. Habe schon mehrere Stunden gegooglet und nichts brauchbares gefunden. Vielleicht hat ja jemand schon Erfahrung damit !?!
Für jegliche Hilfe wäre ich sehr dankbar.

slayter

2

Friday, June 23rd 2006, 10:21am

hi,

gibt leider keine api funktion um eine kategorieliste zu erhalten
Auf Amazon.de gibts folgende Hauptkategorien

classical-de
dvd-de
vhs-de
ce-de (elektronik, Foto, Computer, Tools & Hardware)
Kitchen
software-de
video-games-de
magazines-de
books-de-intl-us

Spielzeug, Baby, Garten und Gourmet sind nicht verfügbar

Leider hat Sourceforge gerade Serverprobleme. Ansonsten würde ich dir empfehlen ein Amazon Script herunterzuladen und die browsenodes der Unterkategorien von dort zu kopieren:
z.B. von diesem hier: http://sourceforge.net/projects/apf

3

Friday, June 23rd 2006, 11:33am

Vielen Dank für Deine Hilfe.
Habe das Script jetzt runtergeladen und werde es gleich ausprobieren.

slayter

4

Friday, June 23rd 2006, 11:44am

Das Script ist ja in Perl geschrieben. Davon habe ich leider keine Ahnung.
Gibt es vielleicht auch sowas in Php ?
Thx !

slayter

5

Friday, June 23rd 2006, 12:09pm

hm.. amazoop gibts für php.. aber ziemlich alt
hab nochmal weiter gesucht und 2 gute Seiten gefunden

für die amazon.com gibts ne eigene seite mit den browsernodes
http://www.browsenodes.com/page-XML.html

für amazon.de habe ich diese liste gefunden.
http://docs.amazonwebservices.com/AWSEcommerceService/2005-10-05/ApiReference/DEBrowseNodesArticle.html
das datum in der url verrät, dass die liste schon etwas älter ist, aber neueres gibts nicht von amazon.de

6

Friday, June 23rd 2006, 12:20pm

Quoted from ""d0nUt""

hm.. amazoop gibts für php.. aber ziemlich alt
hab nochmal weiter gesucht und 2 gute Seiten gefunden

für die amazon.com gibts ne eigene seite mit den browsernodes
http://www.browsenodes.com/page-XML.html

für amazon.de habe ich diese liste gefunden.
http://docs.amazonwebservices.com/AWSEcommerceService/2005-10-05/ApiReference/DEBrowseNodesArticle.html
das datum in der url verrät, dass die liste schon etwas älter ist, aber neueres gibts nicht von amazon.de


habe mir mal die Seiten angeguckt. Die erste Seite ist leider nur für englische Nodes und das kostet ja auch noch was.
Die zweite Seite sieht schon besser aus. Doch wie kriege ich die kategorien in ein PHP-Script rein ohne das alles per Handy einzutragen ??

slayter

7

Friday, June 23rd 2006, 1:31pm

*g* php script zum auslesen schreiben...

alle <li> elemente auslesen.. und nach doppelpunkt exploden..
dann haste im ersten element den namen und im 2ten die node

8

Friday, June 23rd 2006, 5:17pm

Hast du nen Tipp für mich wo und wie ich anfagen soll ??

slayter

9

Friday, June 23rd 2006, 5:34pm

ja, klar

also ganz grob gehts so

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
/*
 Script zum auslesen der Amazon Browser Nodes
 Quelle sieht in etwa so aus
 Bedingung: Darf kein Link sein
 
        <li>
 
<p>Business &amp; Karriere: 403434</p>
 
</li>
 
*/
 
$url = 'http://docs.amazonwebservices.com/AWSEcommerceService/2005-10-05/ApiReference/DEBrowseNodesArticle.html';
 
$src = file($url);
$arr = array();
$cat = false;
foreach($src as $row) {
	if(preg_match("=<h2>SearchIndex:=si", $row)) { //Kategorie setzen
		$cat = trim(strip_tags(str_replace("SearchIndex: ", "", $row)));
	}
        if($cat && preg_match("=<p>(.*)</p>=si", $row)) { //Artikel fuer Kategorie
                $split = explode(': ', strip_tags($row));
                $arr[$cat][$split[0]] = trim($split[1]);
        }
}
 
foreach($arr as $cat => $node) {
	foreach($node as $title => $id) {
		echo "
		<node=\"$cat\">
			<id>$id</id>
			<title>$title</title>
		</node>";
	}
}
?>


könntest das funktionierende script dann nochmal posten und die nodes als txt anhängen

10

Friday, June 23rd 2006, 6:06pm

Vielen Dank für den Code.
Es werden die ID angezeigt. Doch leider weiss ich nicht, welche ID zu welcher kategorie gehört. Wüsste jetzt nicht, wie ich das umschreiben soll ?? Hast du vielleicht noch was auf Lager :) ?
thx schon mal.

slayter

11

Saturday, June 24th 2006, 10:37am

PHP Quellcode

1
$arr[$split[0])] = $split[1];


die arrayelemente sind natürlich 0 und 1, hab den obigen Code aktualisiert
angehängt die XML Datei mit den amazon.de BrowserNodes
Torben Brodt has attached the following file:

12

Saturday, June 24th 2006, 11:26am

vielen Dank.
damit kann ich schon mehranfagen :D

wie kann ich das am besten jetzt parsen ?? Ich weiss nicht genau, wie ich das ohne
forlaufender ID machen soll !?!

slayter

13

Saturday, June 24th 2006, 11:46am

auch mit foreach

hier z.B. meine xml ausgabe:

PHP Quellcode

1
2
3
4
5
6
7
foreach($arr as $id => $title) {
	echo "
	<node>
		<id>$id</id>
		<title>$title</title>
	</node>";
}

14

Saturday, June 24th 2006, 12:20pm

thx schon mal. Jedoch würde ich es bevorzugen die daten aus der XML rauszulesen. So müsste ich dann nicht bei jeden Seitenaufruf von Amazon die Daten parsen.
Hast du vielleicht noch einen Tipp, wie ich die Daten am einfachsten rauslesen kann.
Ich benutze PHP 4.3.

slayter

15

Saturday, June 24th 2006, 1:50pm

arbeitest du ohne datenbank? Kein MySql oder ähnliches???

16

Saturday, June 24th 2006, 1:59pm

stimmt..ich könnte es ja in die Datenbank reinpacken ! Daran habe ich jetzt nicht gedacht, war zu sehr auf XML fixiert.
thx.

17

Saturday, June 24th 2006, 3:12pm

habe das jetzt in die Datenbank eingetragen. Jedoch sind das alles Unterkategorien. Die Hauptkategorien fehlen. Hast du vielleicht noch einen Tipp wie ich herrausfinden kann, zu welchen Hauptkategorien diese gehören, ohne das alles per Hand nachzutragen ??
Thx schonmal !

slayter

18

Saturday, June 24th 2006, 4:42pm

das musst du wissen, was dir leichter fällt
die kategorien den 18 hauptkategorien per hand zuzuweisen sollte kein großes problem sein

beim script könntest du natürlich auch zeilenweise einlesen und beim finden eines <h2> Tags die kategorie setzen

//edit: mich hats doch irgendwie gereizt.. auf seite1 findest du eine aktualisierung des scripts + aktuelle XML

19

Saturday, June 24th 2006, 6:41pm

Vielen Dank für Deine Mühe !
Werde ich mir gleich mal anschauen !

20

Saturday, June 24th 2006, 7:04pm

Quoted from ""d0nUt""

hi,
classical-de
dvd-de
vhs-de
ce-de (elektronik, Foto, Computer, Tools & Hardware)
Kitchen
software-de
video-games-de
magazines-de
books-de-intl-us
f


wo hast du diese Liste her ? Sind das alle Hauptkategorien, welche für Deutschalnd verfügbar sind ??
thx

slayter

Similar threads

Social bookmarks