5

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.

Emmad Zahid
  • 438
  • 6
  • 15

3 Answers3

4

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>
Stubborn
  • 995
  • 4
  • 17
  • 30
2

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.

Working Fiddle

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!

Community
  • 1
  • 1
Aamir Shahzad
  • 6,683
  • 8
  • 47
  • 70
0

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.

Edgar Zakaryan
  • 576
  • 5
  • 11