2016-12-21 3 views
-2

Ich versuche eine interaktive Weltkarte zu erstellen.(SVG) Wie sammle ich alle 'd' Codes?

Benutzern wird eine Nation zugewiesen.

Um dies zu tun, möchte ich alle Codes in eine Datenbank einfügen.

Es bestand zur Zeit von mehreren zehn Bits von Code wie folgt:

<path class="COUNTRYNAME" d="123.123.123"></path> 

Im Idealfall würde ich ein Programm wie das die d='' Codes wählen wäre in der Lage und sie in meine Datenbank einfügen, mit PHP/JS/SQL vorzugsweise.

Ist das möglich?

Was ich versucht habe:

Manuelles Kopieren und Einfügen der d='' in die Datenbank. Es funktioniert, ist aber unglaublich zeitaufwendig.

+0

Bitte geben Sie einige Details oder ein Beispiel für die Quelldatei an, die diese "d" -Codes enthält. Dies wird sich sehr auf die von uns zur Verfügung gestellte Lösung auswirken. An dieser Stelle bin ich nicht überzeugt, dass Sie uns nicht bitten, scrape Daten für Sie zu scannen. –

Antwort

0

Javascript kann durch das DOM navigieren und die Daten aus dem Element herausziehen, dann verwenden Sie AJAX, um es an Ihren Server zu senden.

var paths = $('path[class="COUNTRYNAME"]'); 
$.each(paths, function(index, current){ 
    //loop through each found 
    var d = $(this).attr('d').val(); 
    var params = "d=" + d; 
    $.post("/script.php", params, function(response){ 
     //handle response here 
    }); 
}); 

Wenn Sie versuchen, jemand elses Website zu kriechen, dann empfehle ich einen Headless Browser oder benutzerdefinierte einen Web-Crawler zu machen.

+0

Würde es Ihnen etwas ausmachen, ein kleines bisschen Code zu teilen, bitte? Vielen Dank. – Daniel

+0

@Daniel, das ist nicht, wie diese Website funktioniert. Schreiben Sie Ihre Lösung und wenn und wenn Sie stecken bleiben, stellen Sie eine Frage dazu. –

+0

hat einen Code hinzugefügt. P.S. Nicht getestet – Illuminati

0

Wie gesagt, wir können nicht das volle Programm zur Verfügung stellen. Hier sind einige Tipps:

Sie möchten möglicherweise jQuery verwenden, die einfacher DOM-Manipulation ermöglicht. Anschließend können Sie mit „d“ -Attribut durch alle Elemente iterieren:

var data=[]; $("div[d]").each(function(){ data[]=$(this).attr("d") }

Sie ihre Daten in einem Array speichern kann, und dann diese Informationen an ein PHP-Skript werfen, das die Speicherung behandelt. Dazu müssen Sie $.ajax() verwenden.

Verwandte Themen