2014-10-03 7 views
5

Wie kann ich eine Webseite in mein Java-Skript laden, damit ich sie analysieren kann? Ich möchte Html von z.B. www.google.com und ich möchte alle Tags mit jquery auswählen.Wie lade ich Website-HTML mit jquery?

+3

Sie können dies nicht in Javascript wegen der AJAX-Richtlinie gleichen Ursprungs tun. – Barmar

Antwort

4

Sie können nicht als jquery nicht zulässt, dass Sie externe Ressourcen zu laden, es sei denn, in der Seite, die Sie gegenwärtig analysieren wollen, ist der Header:

header('Access-Control-Allow-Origin: http://thesitewhereyourjscodeishosted'); 

Wenn Sie es nicht festlegen können, könnten Sie Verwenden Sie PHP:

<script> 
var website = <?php echo file_get_contents("http://websitetoload"); ?>; 
</script> 
2

Aufgrund von Browser Sicherheitseinschränkungen unterliegen Ajax-Anfragen der gleichen Ursprungsrichtlinie; Die Anforderung kann nicht erfolgreich Daten von einer anderen Domäne, Subdomäne, einem anderen Port oder Protokoll abrufen.

Sie können jedoch ein Skript auf Ihrem Server erstellen, das diesen Inhalt anfordert oder einen Proxy verwenden kann. Verwenden Sie dann jQueryajax, um das Skript auf Ihrem Server zu starten.

Working Fiddle

Es ist Proxying nur Ihre Anfrage durch den Yahoo-Servern und eine JSONP Antwort auch nicht JSONP unterstützen, wenn der angeforderte Server immer wieder.

HTML:

<div id="example"></div> 

JavaScript

$('#example').load('http://wikipedia.org'); 

Hier ist eine ähnliche Frage wie das Ihre Ways to circumvent the same-origin policy?

viel Glück!

0

Sie können einfach einen Knotenserver einrichten, der den Inhalt der Seite abruft, und dann eine Ajax-Anfrage an Ihren Server stellen und alle Daten erhalten, die Sie benötigen.