Reputation: 508
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.
Upvotes: 5
Views: 1320
Reputation: 576
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.
Upvotes: 0
Reputation: 6834
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!
Upvotes: 2
Reputation: 968
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>
Upvotes: 4