2016-07-12 8 views
0

Ich versuche, einigen dom Element von einer Seite für Erwachsene zu bekommen, habe ich 10 oder mehr Website für diese Sachen, die ich mit einer Website getan hat folgenden Code verwendet, aber nicht für die nächste Arbeit in url. kannst du mir bitte helfen?jQuery .find ist nicht im Live-Web-Site arbeitet

$.get('http://www.example.com/view_video.php?viewkey=ph576bfc568f54d', function (response) { 
    var thumbnail = $(response).find('meta[property="og:image"]'); 
    var thumbUrl = $(thumbnail).attr('content'); 
    console.log(thumbUrl); 
}); 

Ich habe versucht, oben Code für andere Website, es ist Arbeit, aber nicht dafür.

Wenn Sie versuchen möchten, müssen Sie auch dieses oben erste Skript verwenden.

$.ajaxPrefilter(function (options) { 
    if (options.crossDomain && jQuery.support.cors) { 
     var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); 
     options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; 
     //options.url = "http://cors.corsproxy.io/url=" + options.url; 
    } 
}); 

$.get('http://www.example.com/view_video.php?viewkey=ph576bfc568f54d', function (response) { 
    var thumbnail = $(response).find('meta[property="og:image"]'); 
    var thumbUrl = $(thumbnail).attr('content'); 
    console.log(thumbUrl); 
}); 

Vielen Dank im fortgeschrittenen ...

+2

Wonder, wo diese –

+0

gehen wird es nicht jugendfreie Inhalte haben, aber ich brauche auf dieser Seite Meta-Tag-Inhalt zu erhalten. –

+0

sollten Sie erklären, was genau nicht funktioniert – fehrlich

Antwort

0

Sie müssen das der Protokollteil der URL auszuziehen, bevor sie als Parameter an cors-anywhere.herokuapp.com vorbei.

Versuchen Sie folgendes:

$.ajaxPrefilter(function (options) { 
    if (options.crossDomain && jQuery.support.cors) { 
     var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); 
     options.url = http + '//cors-anywhere.herokuapp.com/' + options.url.split('//')[1]; 
    } 
}); 

Ab die response Parsen, ich denke, es eine Taille von Ressourcen ist die gesamte Antwort in einen DOM-Baum von selbst zu analysieren, während es besser sein könnte, den Wert mit einfach zu extrahieren String-Methoden.

Ihr aktueller Ansatz schlägt jedoch fehl, da jQuery keine DOM-Struktur für Sie erstellt, wenn Sie die gesamte Antwort übergeben ($(response)).

Versuchen Sie stattdessen:

$.get('http://www.example.com/view_video.php?viewkey=ph576bfc568f54d', function (response) { 
    var parser = new DOMParser(), 
     doc = parser.parseFromString(response, "text/html"); 

    console.log(doc.querySelectorAll('meta[property="og:image"]')[0].content); 
}); 
+0

es gibt mir einen Fehler "GET http://cors-anywhere.herokuapp.com/http%3A%2F%2Fwww.example.com%2Fview_video.php%3Fviewkey%3Dph576bfc568f54d 404 (Ungültiger Host)' –

+0

@PankajPawar, Siehe meine aktualisieren – haim770

+0

'GET http://cors-anywhere.herokuapp.com/www.example.com%2Fview_video.php%3Fviewkey%3Dph576bfc568f54d 400 (Bad Request)' –