pinging doesn't exactly gather data - except to know if they are up and running or not... or I guess their response time might count as data. I did have a project to test a sites up-status and after messing about with my own code I ditched it and went with http://www.phpclasses.org/package/2258-PHP-Check-the-connectivity-of-TCP-servers.html
I had made a script while back for a client that pinged about 200 websites every 10 minutes. This was the fastest solution that met up to ping those sites efficiently: function ping($host) { $s = shell_exec("ping -c 1 -w 1 {$host}"); $r = "/mdev = (.*)\/(.*)\/(.*)\/(.*) ms/"; preg_match($r, $s, $m); return $m ? $m[1] : false; } PHP: It also returns the ping time ** It most likely won't work on shared hosts though as most hosts disable the shell_exec call. In that case you can use cURL to ping the site or open a socket connection and time it.
All pinging will do is show you hop times and the like, not really gather data other than that. If you mean scraper, let me know the user agent you use so I can blacklist you for stealing content.