How can I load some website in my java-script so that I can parse it? I want to get Html of e.g. www.google.com and I want to select all the tags in it using jquery.
-
3You can't do this in Javascript because of the AJAX same-origin policy. – Barmar Oct 03 '14 at 18:29
3 Answers
You can't as jquery doesn't allow you to load external resources, unless in the page you want to parse is present the header:
header('Access-Control-Allow-Origin: http://thesitewhereyourjscodeishosted');
If you can't set it, you could use PHP:
<script>
var website = <?php echo file_get_contents("http://websitetoload"); ?>;
</script>

- 995
- 4
- 17
- 30
Due to browser security restrictions, Ajax requests are subjected to the same origin policy; the request can not be successfully retrieve data from a different domain, subdomain, port, or protocol.
But you can build a script on your server that requests that content or can use a proxy, then use jQuery
ajax
to hit the script on your server.
It's just proxying a request through Yahoo's servers and getting back a JSONP
response even if the requested server doesn't support JSONP
.
HTML:
<div id="example"></div>
JavaScript
$('#example').load('http://wikipedia.org');
Here is a similar question like yours Ways to circumvent the same-origin policy?
good luck!

- 1
- 1

- 6,683
- 8
- 47
- 70
You can easily set up node server that gets the content of the page, and then make an ajax request to your server and get whatever data you need.

- 576
- 5
- 11