2016-04-02 6 views
0

Also für dieses College-Projekt, ich habe eine App erstellt, die API verwendet, um Daten abzurufen, speichern und auf eine bestimmte Weise ausgeben.Wie manipuliert man andere Website-Daten?

Aber ich habe festgestellt, dass die API sehr primitiv ist und nicht die erforderlichen Daten zur Verfügung stellt.

Daher brauche ich jetzt Ihre Hilfe bei etwas, von dem ich nicht einmal weiß, wie es heißt.

Ich brauche eine Technologie, um die Webseite zu lesen und gibt den HTML-Code der REQUESTED-Webseiten zurück, damit ich einen Algorithmus erstellen kann, um die entsprechenden Daten selbst zu extrahieren.

Ich bin mir bewusst, dass, wenn es meine eigene Website ist, ich javascript wie etwas zu tun, verwenden könnte:

var unfilteredData = document.getElementById ("x");

> oder

var unfilteredData = document.getElementById ("x"), innerhtml;

Aber ich muss wissen, wie ich auf diese (die Elemente/Tags) zugreifen kann, für die Website, die nicht in meiner Domäne ist.

FYI, ich bin mir bewusst, JSON, AJAX, XHttpRequest oder was auch immer Sie es nennen wollen:

function loadKnownXML() { 
    var xmlhttp; 
    if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
    } 
    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("demo").innerHTML = 
     xmlhttp.responseText; 
    } 
    }; 
    xmlhttp.open("GET", "xmlhttp_info.txt", true); 
    xmlhttp.send(); 
} 

JEDOCH Diese xhttprequest NUR für API arbeitet usw.

ich etwas brauche, wo ich Geben Sie "http://www.bbc.com/" ein und es wird mir die (vollständige) HTML-Seite der BBC-Website geben.

Antwort

1

Es wird Crawling genannt, und welche Technik Sie verwenden können, hängt von der Art der Websites ab, die Sie crawlen möchten. Wenn Sie statische Webseiten ohne Javascript javascript oder Javascript nur für Benutzerfreundlichkeit und nicht Inhalt crawlen möchten, dann könnten Sie CLI-Tools wie curl oder wget verwenden oder HTTP-Bibliotheken in der von Ihnen verwendeten Sprache annotieren. Ein gutes Beispiel für einen gebrauchsfertigen Web-Crawler aus der Ruby-Welt wäre mechanize.

Wenn Sie Seiten crawlen möchten, die zum Rendern von Inhalten stark auf JavaScript angewiesen sind, benötigen Sie etwas komplexeres wie einen skriptfähigen Browser. Beispiele sind PhantomJS (basierend auf Webkit, kopflos), SlimerJS (basierend auf Firefox's Gecko). Oder Sie können etwas wie selenium verwenden, um fast jeden Browser per Fernzugriff zu scripten.

Verwandte Themen