Thema (Sticky) HTML-Data-Mining & Du
Deex
Die Aldor
Deex
90, Gnom, Magierin
15305
Bearbeitet von Deex am 19.08.11 08:35 (MESZ)
Hallo Dimetros

Man kann sich registrieren, dann erhält man mehr Credits = Mehr Zugriffe.
Man muss sich mit einer Bescheibung der Applikation und einem Identifier dort anmelden.
Dadurch kann der "Ressourcenverbrauch" von Blizzard besser kontrolliert werden und schwarze Schafe können besser aussortiert (Geblacklisted) werden.


Du meinst die Authentifizierung:
GET /api/wow/character/Medivh/Thrall HTTP/1.1
Host: us.battle.net
Date: Fri, 10 Jun 2011 20:59:24 GMT
Authorization: BNET c1fbf21b79c03191d:+3fE0RaKc+PqxN0gi8va5GQC35A=



Und da kommen wir zu dem Problem, der schlüssel funktioniert nicht überall und was machste dann?

Zu dem Caching und Last Modified
Caching ist natürlich selbstverständlich hat allerdings einen bitteren Nachgeschmack denn Wow ist nicht eine kleine Seite mit nen paar Informationen sondern eigentlich die größte Sammlung an Informationen die ich je gesehen habe nach Google. Wenn wir hier von Caching sprechen erreichen wir Dimensionen die einen ratlos manchmal werden lassen.
Auch eine kleine Gildenseite wird da schnell an die Grenzen kommen. 3000 Abfragen sind nicht viel doch gut gemanaget sollte ich betone 1 Gildenseite das am Tag nicht ausreizen.

Zu der Abfrage der Aktualität gebe ich dir Recht auch hier sollte man sich was einfallen lassen heute arbeitet man allerdings mit Prüfsummen.

Dimetros
Dun Morogh
Dimetros
85, Gnom, Hexenmeister
9535
Also wenn man nur Gildenintern was macht, gehts eigentlich.
Da kommt man mit den begrenzten Zugriffen aus.
Man darf und kann halt nicht mehr alles absolut aktuell halten und bei jedem WebseitenZugriff ein Aktualisierungsscript anstoßen.
Ich würds einfach fest per Conjob machen, 3 mal am Tag (30 min vor Raidbeginn, 30 min danach und morgens um 5 oder so) und sonst alles vom lokalen Cache nutzen.

Maldö
Kult der Verdammten
Maldö
85, Mensch, Krieger
7060
Bearbeitet von Maldö am 20.08.11 16:40 (MESZ)
sooo ich habe mir das ganze mal angeschaut.

Die antworten der API commen in JSON zurück. In PHP geht es einfacher nicht mehr^^


$array = !empty($result) ? json_decode($result) : json_decode("{ status: \"empty\" }");

if($array["status"] != "empty"){
//tu irgenwas

}




So gehst du mit der API Antwort um. (ungetestet)

Für .NET sieht es leider schwieriger aus. Da kommt mehr Arbeit auf mich zu da mein komplettes CMS (100% eigener code) auf .NET C# läuft.

Ich werd da ggf eine Klasse zu schreiben und für mit.NET User die mal hier posten sobald ich genauer durchgeblickt habe.

VG

Maldö
Maldö
Kult der Verdammten
Maldö
85, Mensch, Krieger
7060
Update: Bekam vorhin eine Antwort vom US Support:



Hello,



At this time we are limiting API key distribution to live/production sites and systems. Once everything is in order, email me and I’ll provide a key.




Dimetros
Dun Morogh
Dimetros
85, Gnom, Hexenmeister
9535
Bearbeitet von Dimetros am 20.08.11 17:50 (MESZ)
Jo, Live and Production.
Der gemeine "Bastler" und nicht relevante Kleingilden Webseiten soll eben ausgebremst werden.

Ich vermute, dass da zu viele Bastler zu viel Mist gebaut haben. Und das unbeabsichtigt.
Leute, die absichtlich Schaden anrichten wollen, wissen wie das besser geht, die interessiert auch die Begrenzung nicht.

Und dann halt noch die ganzen Kleingilden Webseiten, die kaum echte Besucher haben, wo trotzdem jeder meint, er müsste nen eigenen Roaster und Armory Abgleich haben. Diese Seiten sind für Blizzard unwichtig und nicht Relevant. Die will man dazu drängen, mit weniger / gezielteren Updates am Tag auszukommen.
Hizuro
Der Mithrilorden
Hizuro
90, Nachtelf, Magier
10515
Bearbeitet von Hizuro am 20.08.11 18:33 (MESZ)
Ja, eine API mit Credits... Find ich Klasse. Die Credits kann man sich auch gefallen lassen. Dann sollte man aber auch gleich besser überlegen werden, welche Datenmengen verschickt werden. Die Infos eines einzelner Charaktere sind gesplitter in winzige Häppchen. Da schafft man mit den Credits vielleicht nicht mal ein Gesamtvolumen von 2MB am Tag.

Das Ganze als JSon anzubieten finde ich Klasse. Wobei mich Maldö's Bemerkung von .Net im selben Satz mit CMS echt irritiert hat.

Ein CMS komplett in .Net geschrieben? Sorry, aber bei Java und Flash wären schon aus meiner Sicht eine schlechte Wahl. Aber soll jeder sein CMS in der Sprache nutzen die er beherrscht.
[Mist, ich will doch eigentlich nicht gegen andere flamen... grrr...]

Zurück zum Thema.

Entwickler, die CachenMethoden nicht nutzen sollten nicht versuchen Arbeitsspeicher oder Plattenplatz als Gegenargument zu nutzen. Solange nicht Questtexte und NPC's Chattexte abgerufen werden, sollte selbst volldownload von Char- und Gildendaten nichtmal 1GB pro Realm schaffen. Die Datenbank mag auf den ersten Gedanken riesig erscheinen. Aber das groh der Daten besteht aus Zahlen. itemID, spellID und und und. Dazu kommt, es wäre ein wenig unnötig die API nach ItemResources zu fragen (Questtexte sind nicht enthalten). WoWHead bietet einen fertigen Tooltip für alle Webseiten in vielen Sprachen für Items, Quest, Erfolge und mehr... (Warum das Rad immer neu erfinden)

Edit2: (War blind)
17.08.2011 09:20Beitrag von Ramides
Wo es die "dokumentation" für das API und "Keyvergaberichtlinien" nachzulesen gibt, würde mich auch mal interessieren.

Da solltest du im Englischen Forum stöbern: http://us.battle.net/wow/en/forum/2626217/

Doku gibt es hier: http://blizzard.github.com/api-wow-docs/

Nette Beispiele und die Datenmenge ist teilweise im einzelnen Abruf regulierbar mit ?fields= und mit Komma getrennten Feldnamen.

Mir fehlen nur beim guildroster noch daten wie der Ruf der einzelnen Member in der Gilde. [Also Gut aber ausbaufähig]

Gruß, euer Hizuro

Edit: Hashwerte sind Unsinn! Header Zeitstempel naja. Lieber wäre mir in jeder Antwort mein Creditkontostand. ^^ Oder eine Abfrage des Kontos, die nicht zur Sperrung führt und noch geht wenn man gesperrt ist [limitiert]. ^^
Dimetros
Dun Morogh
Dimetros
85, Gnom, Hexenmeister
9535
Also wie ich das verstehe, wird man nicht gleich gesperrt, sondern es kommt irgendwann halt nix "sinnvolles" an Daten mehr zurück, sondern etwas, dass auf verbrauchte Credits hindeutet.
Nur wenn man dann immer noch weiter macht, wird man auf eine Blacklist gesetzt.
Maldö
Kult der Verdammten
Maldö
85, Mensch, Krieger
7060
.NET ist ne schöne Programmierumgebung für die die sie berherschen ;-).

Da ich noch auszubildener Fachinformatiker bin habe ich mich nicht auf eine Umgebung festgelegt sondern .NET und PHP gleichermaßen "hochgezogen".

Flash /Java und sonstige Spielerreihen sogar die neuste Jquery UI funzt einwandfrei genauso leicht wie bei PHP


--- Zurück zu Thema.

Was der Mitarbeiter oben geschrieben hat, deutet NICHT darauf hin dass nur die "Ach wir sind so toll und wichtig" Seiten einen key bekommen . Die Produktiven und großen Communitysiten spielen in diesen Spiel Versuchshase. Wenn ihr ins US Forum schaut seht auch dass sich diese API eher im beta /alpha Stadium befindet und es sicherer ist bei weniger Seiten anzufangen Fehler oder sogar kritische Sicherheitslücken zu finden.

Wie mir der Supportmitteilte werden dann WENN alles in ordnung und getestet ist auch kleinere Seiten, wie die meine, einen Key erhalten.
Dimetros
Dun Morogh
Dimetros
85, Gnom, Hexenmeister
9535
Mit .net kenne ich mich gar nicht aus.
Ist das Ausbildungsinhalt bei FiSi, oder haste dir das selber ausgesucht?
Ich benutze für Webkram PHP und für Schellscrips python. Richtige ausführbare Programme mache ich keine. Bin aber mehr Hobbyprogrammierer. (noch)
Fange demnächst auch ne Ausbildung zum Fisi an.

Deex
Die Aldor
Deex
90, Gnom, Magierin
15305
Bearbeitet von Deex am 21.08.11 15:05 (MESZ)
Der gemeine "Bastler" und nicht relevante Kleingilden Webseiten soll eben ausgebremst werden.


Das glaube ich nicht, es ist eher so das die derzeit völlig überlastet sind.

Wenn Blizzard kleine Seiten nicht unterstützen würde gäbe es keine großen.
Denn sie werden nur durch Blizzard groß und nix anderes, Blizzard tolleriert kleine projekte und kleine Seiten und lassen dich machen wenn man größer geworden bist dann gibs auch mehr Unterstützung genau so wurde mir das sogar mittgeteilt.

Ich kann damit einigermaßen leben, denn noch nie wurde mir ein wirklicher Stein in den weg gelegt, verboten etwas zu machen und weiß gott ich bin dem Team mit ziemlich schlechten sachen schon auf die nüsse gegangen, trotzdem nie hat man gelacht oder abgewertet, ich bin immer gut behandelt worden.

Schau mal wieviele Projekte es hier gibt von leuten die kleine CMS Systeme oder was auch immer schreiben und all diese dinge haben sehr sehr klein angefangen wenn Blizzard das stören würde wären die Threads dicht / Gelöscht und dann sind diese sachen gestorben weil es niemand finden oder nutzen würde, ohne Nutzer keine weiterentwicklung.

Man gibt den leuten sogar in ruhe zeit sich zu verbessern, da kann es wirklich grauenhaft hässliche Projekte gegeben die teiweise vor Fehlern nur so strotzen.. trotzdem nie war das relevant und man hat die leute und ihre dinge sich Entwickeln lassen.

Das ist einfach Fakt. Das einzige womit man leben muss ist nicht wirklich ansprechpartner zu haben und man steht halt alleine da, wird aber tolleriert und das ist eben die anfängliche unterstützung.

Ich kann deinen frust vollkommen verstehen, was meinst du wie oft ich hier sitze und enttäuscht bin von einer antwort mail z.B. der Fansite Pause.

Man kann das ganze mit einer art Character Leveling vergleichen.

Du und dein script treten bei level 1 auf und sagen hi, der Boni von Level eins ist tolleriert zu werden.
Stufe 2 ist dann einen API schlüssel zu erhalten
Stufe 3 ist eine Offizielle Fansite zu werden mit Zertifikat
Stufe 4 ist in der Community Watch erwähnt zu werden denn Fansite bedeutet nicht unbedingt das man auch erwähnt wird.
Stufe 5 ist wohl derzeit das Maximum Level, da gibste den Mitarbeitern auf der nächsten Convention nen händedruck ;)
Stufe 6 ist ein so Geheim das man nur bei dem aussprechen einen PermanentenBan bekommt :p

Okay was so lustig aussah ist eigentlich nicht witzig sondern die Wahrheit, auch hier muss man sich durchleveln.

Glaub an dich, halte an deinen Ideen und Träume fest und du wirst was erreichen!

Geh jetzt hin mach dein script bring es live und hau es Straton erneut vor die Nase,
wirst du immernoch abgelehnt mach es besser und erneut erneut erneut...irgendwann hast du es im sack!
http://www.youtube.com/watch?v=I-Fle9N45L0
Maldö
Kult der Verdammten
Maldö
85, Mensch, Krieger
7060
Mit .net kenne ich mich gar nicht aus.
Ist das Ausbildungsinhalt bei FiSi, oder haste dir das selber ausgesucht?
Ich benutze für Webkram PHP und für Schellscrips python. Richtige ausführbare Programme mache ich keine. Bin aber mehr Hobbyprogrammierer. (noch)
Fange demnächst auch ne Ausbildung zum Fisi an.


Auch wenn es nicht zum Thema passt:

C# ist Teil der Ausbildung zum Fi: Anwendungsentwicklung. Glaub 2. oder 3. Lehrjahr.

Ich kann es schon da ich .NET Fan bin ;)



Und wieder zum Thema:

Ich find die idee es straton um die Nase zu hauen cool...

Ich glaub ihm schick ich das fertige Script zum erstellen des Banners wenn ich alles eingebunden habe :D

Vg

Maldö
Hawké
Tirion
Hawké
90, Mensch, Schurke
9685
11.08.2011 19:24Beitrag von Dimetros
Setzt ihr Google und Co dann auch auf die Blacklist?

Hat reingarnichts mit dem Thema zutun.

Suchmaschienen senden Bots ("Crawler") aus, die die Seite anhand des Quellcodes und der darin enthaltenen Informationen in einem System verarbeiten (als Textinfo speichern - zusammen mit passenden Links) und für die Suche freigeben. - Ums mal ganz simpel auszudrücken.

Kannst ja über Google auch nicht die Arsenaldaten eines Chars abrufen.
Lefaux
Sen'jin
Lefaux
85, Nachtelf, Krieger
0
Schade nur, dass die beiden wirklich spannenden Sachen in der API nicht vorhanden sind:
a) Loot by Player (nicht, was er TRÄGT, sondern, was er wann BEKOMMEN hat)
b) Loot by NPC (dann müßte ich nämlich nur die neuen Raidbosse eintragen und bei 7 Bossen dann 14 Requests starten (7 NM, 7 HM).

Schade Schade :)

Ansonsten kann man mit der API aber echt witzige Sachen treiben... AH auslesen z.B. :)
Solâya
Aman'Thul
Solâya
85, Draenei, Todesritter
2215
Bearbeitet von Solâya am 30.01.12 22:44 (MEZ)
sooo ich habe mir das ganze mal angeschaut.

Die antworten der API commen in JSON zurück. In PHP geht es einfacher nicht mehr^^


$array = !empty($result) ? json_decode($result) : json_decode("{ status: \"empty\" }");

if($array["status"] != "empty"){
//tu irgenwas

}




So gehst du mit der API Antwort um. (ungetestet)

Für .NET sieht es leider schwieriger aus. Da kommt mehr Arbeit auf mich zu da mein komplettes CMS (100% eigener code) auf .NET C# läuft.

Ich werd da ggf eine Klasse zu schreiben und für mit.NET User die mal hier posten sobald ich genauer durchgeblickt habe.

VG

Maldö




Ich weis der Thread is grad älter aber trotzdem:

Hier mal ein paar kleines script an dem ich selbst grad arbeite. Dazu kommt noch:
Dieses script ruft noch immer die ganzen daten des Chars ab bei jedem aufruf..

Wenn ihr es benutzen solltet, EMPFEHLE ich die Daten zb in einer MySQL datenbank oder in einer datei zwischen zu speichern... und wenn einmal am Tag die Maxanzahl erreicht ist sollte er abbrechen ^^ irgend so etwas werd ich noch einbauen..





<?php
$realm = 'amanthul';
$char = 'solâya';

$baseurl = 'http://eu.battle.net/api/wow/'; // API STAMMURL
$imagehost = 'http://eu.battle.net/static-render/eu/'; // URL für die Charavatare
$iconhost = 'http://eu.media.blizzard.com/wow/icons/56/'; // URL für ItemIcons
$charurl = sprintf('character/%s/%s', $realm, $char); // Char-Basis URL
$data = utf8_encode($baseurl.$charurl.'?fields=guild,items,stats'); // URL in UTF-8 kodieren
$data = file_get_contents($data); //Daten vom API-Server abrufen
$data = json_decode($data, true); // Empfangene JSON Daten in PHP Array Speichern
$items = $data['items']; // ITEMARRAY
$guild = $data['guild']; //GUILDARRAY
$stats = $data['stats']; //STATSARRAY
$charname = utf8_decode($data['name']); //Charnamen in ISO-8859-1 dekodieren (wegen europöischen sonderzeichen)
$thumbnail = $data['thumbnail']; // Variable das dein Charavatar enthält.
$char_big = str_replace('-avatar', '-profilemain', $thumbnail); // Variable das dein Hintergrundbild vom Arsenal enthält.

?>


Werde den Beitrag eventuell noch bearbeiten mit einer MySQL Datenbank zur Speicherung.

MFG
Lyrion
Nozdormu
Lyrion
85, Mensch, Magier
3380
Huhu Solâya,

hast du vielleicht noch ne idee wie man "einfach" die Daten auf Deutsch abholt mit Deiner vorlage.
Ich habs mit locale=de_DE an allen möglichen stellen probiert es geht aber nicht.
Mit CURL hab ichs auch nicht hinbekommen.
Liegt aber beides wahrscheinlich daran das ich nicht so der Profi bin ;)

Aber vielleicht kannst du mir ja helfen. Wo muss bei dem Script das de_DE hin?
Petrapack
Forscherliga
Petrapack
1, Tauren, Schamanin
0
hi

Frage zum DataMining:
Stalking über das ach so tolle und nützliche Wowprogress ist ja leider so super einfach, da die Typen von der Website die Daten ja irgendwie aus dem Arsenal sammeln und dann irgendwie vergleichen und dann irgendwelche Charaktere einem Account zuordnen.
Wie, ausser durch Interface->Game->Display-> ??? lässt sich das deaktivieren? Habe das bei LeatrixPlus zwar deaktiviert, es ist aber immernoch einsehbar.
Charaktere werden ja aus der Auflistung auch nie wieder rausgenommen, auf (freundliche!) E-Mails antworten die progressstalker-Admins auch nicht...
Es ist immerhin ein Unterschied, ob man manuell im Arsenal Erfolge und Erfolgspunkte vergleicht und wenigenstens noch ein BISSCHEN was tun muss, oder ob man einfach einen Charakter bei ner fragwürdigen Seite eingibt und dann komplette Accountinformationen erhält.
Sará
Festung der Stürme
Sará
90, Blutelfe, Magierin
13770
Frage zum DataMining:
So ärgerlich die Sache für dich sein mag, mit dem Thema des Threads hat es nichts zu tun, Wowprogress arbeitet, wie quasi alle anderen großen Seiten, die auf das Arsenal aufbauen, ganz "legal" mit der battle.net-API.

Bitte melde jede Verletzung der Forenrichtlinien, inklusive:

Beiträge die Gewaltandrohung beinhalten. Wir nehmen dies sehr ernst und werden die entsprechenden Behörden einschalten.

Beiträge, die persönliche Informationen zu anderen Spielern enthalten. Dies beinhaltet Adressen, E-Mail-Adressen, Telefonnummern und unangebrachte Fotos und/oder Videos.

Beleidigende oder diskriminierende Sprache. Derartige Dinge werden nicht toleriert.

Hier klicken für den Verhaltenscodex im Forum.

Melde Beitrag #, verfasst von
Grund
Erklärung (Maximal 256 Buchstaben)

Gemeldet!

[Schließen]