MSN Live Search Result Grabber

By  on  

Within the last month, I've created two popular SEO tools: Google Grabber and Yahoo Grabber. Each grabber goes to the respective website and retrieves the number of pages a specified domain has indexed in the search engine. Having the indexed number of pages so quickly and easily is invaluable and a great sales tool.

Though MSN Live Search isn't a powerhouse search engine / portal, I thought I'd throw in the effort to put one together for Microsoft's search engine.

The PHP Code

/* return result number */
function get_msn_results($domain = 'davidwalsh.name')
{
	// get the result content
	$content = file_get_contents('http://search.msn.com/results.aspx?q=site%3A'.$domain);

	// parse to get results
	$pages = get_match('/id="count">(.*)</span>/isU',$content);

	//explode, get rid of "of"
	$pages = explode('of ',$pages);

	$return['pages'] = $pages[1] ? $pages[1] : 0;

	// return result
	return $return;
}

/* helper: does the regex */
function get_match($regex,$content)
{
	preg_match($regex,$content,$matches);
	return $matches[1];
}

The Usage

$domains = array('davidwalsh.name','digg.com','msn.com','cnn.com','dzone.com','some-domain-that-doesnt-exist.com');
foreach($domains as $domain)
{
	$result = get_msn_results($domain);
	echo $domain,': ',$result['pages'],'<br />';
}

//davidwalsh.name: 431
//digg.com: 9,610,000
//msn.com: 28,100,000
//cnn.com: 17,100,000
//dzone.com: 138,000
//some-domain-that-doesnt-exist.com: 0

Recent Features

  • By
    Create Namespaced Classes with MooTools

    MooTools has always gotten a bit of grief for not inherently using and standardizing namespaced-based JavaScript classes like the Dojo Toolkit does.  Many developers create their classes as globals which is generally frowned up.  I mostly disagree with that stance, but each to their own.  In any event...

  • By
    Camera and Video Control with HTML5

    Client-side APIs on mobile and desktop devices are quickly providing the same APIs.  Of course our mobile devices got access to some of these APIs first, but those APIs are slowly making their way to the desktop.  One of those APIs is the getUserMedia API...

Incredible Demos

  • By
    Introducing MooTools LazyLoad

    Once concept I'm very fond of is lazy loading. Lazy loading defers the loading of resources (usually images) until they are needed. Why load stuff you never need if you can prevent it, right? I've created LazyLoad, a customizable MooTools plugin that...

  • By
    Create Your Own Dijit CSS Theme with LESS CSS

    The Dojo Toolkit seems to just get better and better.  One of the new additions in Dojo 1.6 was the use of LESS CSS to create Dijit themes.  The move to using LESS is a brilliant one because it makes creating your own Dijit theme...

Discussion

  1. Interesting that MSN turns up significantly more results for all my websites than Google does. Good work, David!

  2. I noticed that too Eric. MSN always turns up a whoooooole lot more than Goooooooogle.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!