<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>juust ~ php oddities &#187; seo</title>
	<atom:link href="http://www.juust.org/index.php/tag/seo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juust.org</link>
	<description>Unordered list of one element</description>
	<lastBuildDate>Thu, 02 Sep 2010 16:58:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>bing api with php and simplexml</title>
		<link>http://www.juust.org/index.php/bing-api-with-php-simplexml/2009/09/</link>
		<comments>http://www.juust.org/index.php/bing-api-with-php-simplexml/2009/09/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 15:22:17 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[bing]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=861</guid>
		<description><![CDATA[About scraping results off of Bing : Bing use a set of about eight cookies. You can grab 200 results with php curl, as 20 pages of 10, but after the first 200 the Bing server checks for the cookie and for lack of one returns a blank page. I can fidget with the curl [...]]]></description>
			<content:encoded><![CDATA[<p><em>About scraping results off of Bing : Bing use a set of about eight cookies. You can grab 200 results with php curl, as 20 pages of 10, but after the first 200 the Bing server checks for the cookie and for lack of one returns a blank page. I can fidget with the curl cookiejar, but Bing also offer a straighforward API.</em></p>
<p>Using the <a href="http://www.bing.com/developers/default.aspx" rel="nofollow" title="where you can get your bing api v2 appid">Bing API</a> to list search results is easier. </p>
<h3>Bing TOS : not for seo rank checks</h3>
<p>In the last paragraph of the <a href="http://www.bing.com/developers/s/API%20Basics.pdf" rel="nofollow">api guide</a>, Bing give a quick recap of their TOS, you can do max 7 queries per second, and using the results for SEO rank checks is explicitly prohibited. </p>
<p>These following snippets (<a href="http://www.juust.org/bingapi.txt" rel="nofollow">text source</a>) are hence <strong>explicitly not</strong> to be used for bing search engine result page (&#8217;serp&#8217;) rank checks. </p>
<h3>bing api with simplexml</h3>
<p>So here is one for web results using php simplexml. The web api (which uses namespaces) allows for retrieving max 1000 results per term at max 50 results per query, you can specify the number of results and the offset, where to start grabbing results.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$Appid</span><span class="sy0">=</span><span class="st0">&quot;A_VERY_LONG_STRING&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Query</span> <span class="sy0">=</span> <span class="st0">&quot;seo rank check&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Numres</span> <span class="sy0">=</span> <span class="nu0">50</span><span class="sy0">;</span> <span class="co1">//max 50</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Offset</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> &nbsp; &nbsp;<span class="co1">//up to 1000</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">=</span> <span class="st0">&#39;http://api.search.live.net/xml.aspx?</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">Appid=&#39;</span><span class="sy0">.</span><span class="re1">$Appid</span><span class="sy0">.</span><span class="st0">&#39;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&amp;query=&#39;</span><span class="sy0">.</span><span class="re1">$Query</span><span class="sy0">.</span><span class="st0">&#39;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&amp;sources=web</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&amp;web.count=&#39;</span><span class="sy0">.</span><span class="re1">$Numres</span><span class="sy0">.</span><span class="st0">&#39;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&amp;web.offset=&#39;</span><span class="sy0">.</span><span class="re1">$Offset</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$feed</span> <span class="sy0">=</span> simplexml_load_file<span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//use the web: namespace</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$children</span> <span class="sy0">=</span> &nbsp;<span class="re1">$feed</span><span class="sy0">-&gt;</span><span class="me1">children</span><span class="br0">&#40;</span><span class="st0">&#39;http://schemas.microsoft.com/LiveSearch/2008/04/XML/web&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$children</span><span class="sy0">-&gt;</span><span class="me1">Web</span><span class="sy0">-&gt;</span><span class="me1">Results</span><span class="sy0">-&gt;</span><span class="me1">WebResult</span> <span class="kw1">as</span> <span class="re1">$d</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Title</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Description</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Url</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">DisplayUrl</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>..and one for the pictures using php simplexml :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$Appid</span><span class="sy0">=</span><span class="st0">&quot;A_VERY_LONG_STRING&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Query</span> <span class="sy0">=</span> <span class="st0">&quot;alkmaar&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Numres</span> <span class="sy0">=</span> <span class="nu0">10</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Offset</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">=</span> <span class="st0">&#39;http://api.search.live.net/xml.aspx?&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;Appid=&#39;</span><span class="sy0">.</span><span class="re1">$Appid</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;query=&#39;</span><span class="sy0">.</span><span class="re1">$Query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;sources=image&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;image.count=&#39;</span><span class="sy0">.</span><span class="re1">$Numres</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;image.offset=&#39;</span><span class="sy0">.</span><span class="re1">$Offset</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$feed</span> <span class="sy0">=</span> simplexml_load_file<span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//use the mms: namespace &nbsp; &nbsp; &nbsp; </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$children</span> <span class="sy0">=</span> &nbsp;<span class="re1">$feed</span><span class="sy0">-&gt;</span><span class="me1">children</span><span class="br0">&#40;</span><span class="st0">&#39;http://schemas.microsoft.com/LiveSearch/2008/04/XML/multimedia&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;ul ID=&quot;resultList&quot;&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$children</span><span class="sy0">-&gt;</span><span class="me1">Image</span><span class="sy0">-&gt;</span><span class="me1">Results</span><span class="sy0">-&gt;</span><span class="me1">ImageResult</span> <span class="kw1">as</span> <span class="re1">$d</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;li class=&quot;resultlistitem&quot;&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">DisplayUrl</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span> <span class="sy0">.</span> <span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Title</span> <span class="sy0">.</span> <span class="st0">&#39;&lt;/a&gt;&lt;br /&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;img src=&quot;&#39;</span> <span class="sy0">.</span> <span class="re1">$d</span><span class="sy0">-/&gt;</span>Thumbnail<span class="sy0">-&gt;</span><span class="me1">Url</span><span class="sy0">.</span> <span class="st0">&#39;&quot; /&gt;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#39;</span><span class="sy0">.</span><span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Thumbnail</span><span class="sy0">-&gt;</span><span class="me1">ContentType</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;</span><span class="sy0">.</span><span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Thumbnail</span><span class="sy0">-&gt;</span><span class="me1">Height</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;</span><span class="sy0">.</span><span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Thumbnail</span><span class="sy0">-&gt;</span><span class="me1">Width</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;</span><span class="sy0">.</span><span class="re1">$d</span><span class="sy0">-&gt;</span><span class="me1">Thumbnail</span><span class="sy0">-&gt;</span><span class="me1">FileSize</span><span class="sy0">.</span><span class="st0">&#39;&lt;br /&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/li&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&quot;&lt;/ul&gt;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>I actually like that api, I am going to use that.</p>
<h3>bing api with json</h3>
<p>Bing seem to prefer you use json, less bandwidth usage. After their example in the api basics guide :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Numres</span> <span class="sy0">=</span> <span class="nu0">10</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Offset</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Query</span><span class="sy0">=</span><span class="st0">&#39;alkmaar&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">=</span> <span class="st0">&#39;http://api.search.live.net/json.aspx?&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;Appid=&#39;</span><span class="sy0">.</span><span class="re1">$Appid</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;query=&#39;</span><span class="sy0">.</span><span class="re1">$Query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;sources=image&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;image.count=&#39;</span><span class="sy0">.</span><span class="re1">$Numres</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$url</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;image.offset=&#39;</span><span class="sy0">.</span><span class="re1">$Offset</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$response</span> <span class="sy0">=</span> <span class="kw3">file_get_contents</span><span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$jsonobj</span> <span class="sy0">=</span> json_decode<span class="br0">&#40;</span><span class="re1">$response</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;ul ID=&quot;resultList&quot;&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$jsonobj</span><span class="sy0">-&gt;</span><span class="me1">SearchResponse</span><span class="sy0">-&gt;</span><span class="me1">Image</span><span class="sy0">-&gt;</span><span class="me1">Results</span> <span class="kw1">as</span> <span class="re1">$value</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;li class=&quot;resultlistitem&quot;&gt;&lt;a href=&quot;&#39;</span> <span class="sy0">.</span> <span class="re1">$value</span><span class="sy0">-&gt;</span><span class="me1">Url</span> <span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;img src=&quot;&#39;</span> <span class="sy0">.</span> <span class="re1">$value</span><span class="sy0">-/&gt;</span>Thumbnail<span class="sy0">-&gt;</span><span class="me1">Url</span><span class="sy0">.</span> <span class="st0">&#39;&quot;&gt;&lt;/a&gt;&lt;/li&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span><span class="br0">&#40;</span><span class="st0">&quot;&lt;/ul&gt;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Of course there is the old RSS-option, which doesnt require an appid but also falls under the api 2.0 tos, and a soap option.</p>
<p>other sources :<br />
There is a <a href="http://bingapiphp.codeplex.com/" rel="nofollow">bing api php class</a> made over at <a href="http://routecafe.com/posts/bing-api-php-v11-release.moccha">routecafe</a>, and a <a href="http://einaros.blogspot.com/2009/06/hovering-bing-search-using-jquery.html" rel="nofollow">jquery bing plugin using json</a> over at Einar Otto Stangvik&#8217;s blog. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/bing-api-with-php-simplexml/2009/09/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>about the trackback thing</title>
		<link>http://www.juust.org/index.php/about-the-trackback-thing/2009/04/</link>
		<comments>http://www.juust.org/index.php/about-the-trackback-thing/2009/04/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 03:43:49 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[seo]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://www.juust.org/index.php/about-the-trackback-thing/2009/04/</guid>
		<description><![CDATA[The question about the trends script with trackbacks was wether a few hundred backlinks was worth the trouble, and it wasn&#8217;t. I wrote a second routine to grab the most common significant words from excerpts, and do a second search to grab better results and up to five trackbacks per page. 
So I&#160;put that online, [...]]]></description>
			<content:encoded><![CDATA[<p>The question about the trends script with trackbacks was wether a few hundred backlinks was worth the trouble, and it wasn&#8217;t. I wrote a second routine to grab the most common significant words from excerpts, and do a second search to grab better results and up to five trackbacks per page. </p>
<p>So I&nbsp;put that online, it grabbed 4000 backlinks in an hour and overloaded the host server. </p>
<p>Baidu, radian6 and google had stepped up indexing after I added sitewide tags and that didnt show up in analytics, the site got the trackback validations and crawlers and the server went haywire. It is a shared host, the resources are too limited to run that kind site on. I&nbsp;put it on hold till I&nbsp;find a solution for the hosting, </p>
<p>Google of course penalised the site with PR0 and dropped the domain from the serp on its main keywords, but in Yahoo it ranks about 20 out of 360 million result pages and in MSN&nbsp;it ranks no 1. I was thinking about adding a translator plugin and see if I can get some traffic from Baidu.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/about-the-trackback-thing/2009/04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RedHat Seo : scraper auto-blogging</title>
		<link>http://www.juust.org/index.php/redhat-seo-christmas-edition/2008/12/</link>
		<comments>http://www.juust.org/index.php/redhat-seo-christmas-edition/2008/12/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 18:07:01 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xml-rpc]]></category>
		<category><![CDATA[scrape]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=270</guid>
		<description><![CDATA[Just give us your endpoint and we&#8217;ll take it from there, sparky!
I was going to make one of these tools to scrape google and conjur a full blog out of nowhere, as Christmas special, RedHat Seo. The rough sketch has arrived , far from perfect, but it does produce a blog and don&#8217;t even look [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Just give us your endpoint and we&#8217;ll take it from there, sparky!</p></blockquote>
<p>I was going to make one of these tools to scrape google and conjur a full blog out of nowhere, as Christmas special, RedHat Seo. The rough sketch has arrived , far from perfect, but it does produce a blog and don&#8217;t even look too shabby. I scraped a <a href="" rel="nofollow" target="_blank">small batch</a> of posts off of blogs, keeping the links intact and adding a tribute links. I hope they will pardon me for it. </p>
<h3>structure</h3>
<p>I use three main classes, </p>
<table>
<tbody>
<tr>
<td>BlogMaker    </td>
<td>     the application</td>
</tr>
<tr>
<td>Target         </td>
<td>     the blogs you aim for</td>
</tr>
<tr>
<td>WPContent   </td>
<td>     the scraped goodies</td>
</tr>
</tbody>
</table>
<p>&#8230;and two support classes</p>
<table>
<tbody>
<tr>
<td>SerpResult    </td>
<td>    scraped urls</td>
</tr>
<tr>
<td>Custom_RPC   </td>
<td>    a simple rpc-poster</td>
</tr>
</tbody>
</table>
<p>Target blogs have three texts, </p>
<table>
<tbody>
<tr>
<td>file</td>
<td>contents</td>
<td>maintenance</td>
</tr>
<tr>
<td>blog categories</td>
<td>category you post under</td>
<td>manual</td>
</tr>
<tr>
<td>blog tags</td>
<td> tags you list on the blog</td>
<td>manual</td>
</tr>
<tr>
<td>blog urls</td>
<td> urls already used for the blog</td>
<td>system</td>
</tr>
</tbody>
</table>
<h3>routine</h3>
<p>The BlogMaker class grabs a result list (up to 1000 urls per phrase) from Google, extracts the urls and stores them in SerpResult,  scrapes the urls and extracts the <strong>entry</strong> divs, stores div-entries in the WPContent class (that has some basic functions to sanitize the text), and uses the BlogTarget-definitions to post it up blogs with xml-rpc.</p>
<h3>usage</h3>
<p>My highlighter tends to mess up text with div markers in it, copying off the blog may not work,<br />
the full text source (about 500 lines) is <a href="http://serp.trismegistos.net/fastblog.txt" target="_blank" rel="nofollow">overhere</a>. Underneath I&#8217;ll list the main program loop :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//make main instance</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Blog</span> <span class="sy0">=</span> <span class="kw2">new</span> BlogMaker<span class="br0">&#40;</span><span class="st0">&quot;keyword&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//define a target blog, you can define multiple blogs and refer with code</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//then add rpc-url, password and user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//and for every target blog three text-files </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$T</span><span class="sy0">=</span><span class="re1">$Blog</span><span class="sy0">-&gt;</span><span class="me1">AddTarget</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;blogcode&#39;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;http://my.blog.com/xmlrpc.php&#39;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;password&#39;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;user&#39;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;keyword.categories.txt&#39;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;keyword.tags.txt&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="st0">&#39;keyword.urls.txt&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//read the tags, cats and url text files stored on the server </span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//all retrieved urls are tested, if the target blog already has that</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//scraped url, it is discarded.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">CSV_GetTags</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">List_GetCats</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">ReadURL</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//grab the google result list</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//use params (pages, keywords) to specify search</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$Blog</span><span class="sy0">-&gt;</span><span class="me1">GoogleResults</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$a</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$Blog</span><span class="sy0">-&gt;</span><span class="me1">Results</span> <span class="kw1">as</span> <span class="re1">$BlogUrl</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$a</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">echo</span> <span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">url</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//see if the url isnt used yet</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">checkURL</span><span class="br0">&#40;</span><span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">url</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">!=</span><span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">echo</span> <span class="st0">&#39;&#8230;checking &#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">flush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//if not used, get the source</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">scrape</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//check for divs marked &quot;entry&quot;, if they arent there, check &quot;post&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//some blogs use other indications for the content</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//but entry and post cover 40%</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$entries</span> <span class="sy0">=</span> <span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">get_entries</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$entries</span><span class="br0">&#41;</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&#39;no entries&#8230;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">flush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$entries</span> <span class="sy0">=</span> <span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">get_posts</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$entries</span><span class="br0">&#41;</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&#39;no posts either&#8230;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//if no entry-post div, mark url as done</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">RegisterURL</span><span class="br0">&#40;</span><span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$ct</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$BlogUrl</span><span class="sy0">-&gt;</span><span class="me1">WpContentPieces</span> <span class="kw1">as</span> <span class="re1">$WpContent</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//in the get_entries/get_post function the fragments are stored</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//as wpcontent</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$ct</span><span class="sy0">++;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">judge</span><span class="br0">&#40;</span><span class="nu0">2000</span><span class="sy0">,</span> <span class="nu0">200</span><span class="sy0">,</span> <span class="nu0">5</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">tribute</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">//add tribute link</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">settags</span><span class="br0">&#40;</span><span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">divcontent</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//add tags</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">postCustomRPC</span><span class="br0">&#40;</span><span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">,</span> <span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">divcontent</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//1=publish, 0=draft</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$T</span><span class="sy0">-&gt;</span><span class="me1">RegisterURL</span><span class="br0">&#40;</span><span class="re1">$WpContent</span><span class="sy0">-&gt;</span><span class="me1">url</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">//register use of url</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">usleep</span><span class="br0">&#40;</span><span class="nu0">20000000</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">//20 seconds break, for sitemapping</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<h3>notes</h3>
<ul>
<li>xml-rpc needs to be activated explicitly on the wordpress dashboard under settings/writing.</li>
<li>categories must be present in the blog</li>
<li>url file must be writeable by the server (777)</li>
</ul>
<p>It seems wordpress builds the sitemap as background process, the standard google xml sitemap plugin wil attempt to build in the cache (takes anywhere between 2 and 10 seconds), and apart from building a sitemap the posts also get pinged around. Giving the install 10 to 20 seconds between posts allows for all the hooked in functions to be completed.</p>
<h3>period</h3>
<p>That&#8217;s about all,<br />
consider it gpl, I added some comments in the source but I will not develop this any further. A mysql backed blogfarm tool (euphemistically called &#8216;publishing tool&#8217;) is more interesting, besides, I am off to the wharves to do some painting.</p>
<p>if you use it, send some feedback,<br />
merry christmas dogheads</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/redhat-seo-christmas-edition/2008/12/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>google trends II</title>
		<link>http://www.juust.org/index.php/google-trends-ii/2008/12/</link>
		<comments>http://www.juust.org/index.php/google-trends-ii/2008/12/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 01:50:38 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=267</guid>
		<description><![CDATA[I wanted to reply to a question elsewhere on the site, but a &#8216;comment&#8217; box isn&#8217;t fit for it so I&#8217;ll put the reply here. The question was about creating &#8217;search engine friendly&#8217; descriptive URL&#8217;s based on  keywords from the Google Trends atom feed, listing pages a graph of the trend.
I hacked a quick [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to reply to a question elsewhere on the site, but a &#8216;comment&#8217; box isn&#8217;t fit for it so I&#8217;ll put the reply here. The <a href="http://www.juust.org/index.php/parsing-the-google-trends-atom-feed/2008/11/#comments" rel="nofollow">question</a> was about creating &#8217;search engine friendly&#8217; descriptive URL&#8217;s based on  keywords from the Google Trends atom feed, listing pages a graph of the trend.</p>
<p>I hacked a quick example together on a subdomain over at <a href="http://trends.trismegistos.net/" rel="nofollow" target="_blank">trends.trismegistos.net</a>, just to be sure it works. </p>
<p>You can get a site to list http://domain.com/trend_title.html type url&#8217;s by using <a href="http://www.the-art-of-web.com/system/rewrite/1/" rel="nofollow" title="url rewrite examples">mod_rewrite</a>, an apache module. </p>
<p>In the server directory of the application you can <a href="http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html" rel="nofollow">use an .htaccess file to set rules</a> for file access in these folders. When the server gets request from browsers or servers it applies any rewriting rules you define in .htaccess to these requests.</p>
<p>I tried this one :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>ifmodule mod_rewrite<span class="sy0">.</span>c<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;RewriteEngine On</div>
</li>
<li class="li1">
<div class="de1">&nbsp;RewriteCond <span class="sy0">%</span><span class="br0">&#123;</span>REQUEST_FILENAME<span class="br0">&#125;</span> <span class="sy0">!-</span>f</div>
</li>
<li class="li1">
<div class="de1">&nbsp;RewriteCond <span class="sy0">%</span><span class="br0">&#123;</span>REQUEST_FILENAME<span class="br0">&#125;</span> <span class="sy0">!-</span>d</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; RewriteRule ^<span class="br0">&#40;</span><span class="sy0">.*</span><span class="br0">&#41;</span><span class="sy0">.</span>html <span class="sy0">/</span>trendinfo<span class="sy0">.</span>php?title<span class="sy0">=</span>$<span class="nu0">1</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>ifmodule<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p><strong>RewriteEngine On</strong><br />
sets the rewrite mechanism on</p>
<p><strong>RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d</strong><br />
tell the apache server that rewriteconditions apply to file-requests that are not an existing file (F) or directory (D). If the requested filename is anywhere in the servers file table, the server dishes out that file, otherwise it will try to apply a RewriteRule. Applying the rule generates a new request, if that returns anything, the server dishes that out, otherwise it returns an htpp-404 &#8216;file not found&#8217;.</p>
<p>The actual url rewrite rule is :<br />
<strong>RewriteRule ^(.*).html /trendinfo.php?title=$1 </strong><br />
which means : </p>
<ul>
<li>if any filename is requested that satisfies the mask <strong>^(.*).html</strong> then</li>
</ul>
<ul>
<li>take everything before .html</li>
<li>add that as variable $1 to trendinfo.php?title=$1</li>
<li>see if it sticks</li>
</ul>
<p>If the browser requests <em>http://domain.com/bob+bowersox.html</em>, the server will assert it is not a file or directory on the server, and test the available rules. When it notices it the requested file ends with .html, it applies the rewrite rule and tries to access <em>http://domain.com/trendinfo.php?title=bob+bowersox</em>. </p>
<p>A browsing user does not notice a thing.</p>
<p>In <em>trendinfo.php</em> I wrote some code to handle the &#8216;new&#8217; request :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//if there is no $1, added as title, fake a 404 &quot;file not found&quot; message </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&#39;the emptiness&#8230;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//get the title from the request</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$mytitle</span><span class="sy0">=</span><span class="kw3">htmlentities</span><span class="br0">&#40;</span><span class="re1">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> ENT_QUOTES<span class="sy0">,</span> <span class="st0">&quot;UTF-8&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//put the google trends graph url together</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$graphurl</span> <span class="sy0">=</span> <span class="st0">&#39;http://www.google.com/trends/viz?hl=&amp;q=&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$graphurl</span> <span class="sy0">.=</span> <span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="re1">$mytitle</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$graphurl</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;date=&#39;</span><span class="sy0">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">//leave date blank to get the current graph</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$graphurl</span> <span class="sy0">.=</span> <span class="st0">&#39;&amp;graph=hot_img&amp;sa=X&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">echo</span> <span class="st0">&quot;&lt;img class=hotGraph width=280 height=190 src=&#39;$graphurl&#39;/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>&#8230;that outputs the Google trend graph on the url http://domain.com/bob+bowersox.html</p>
<p>I zipped the trends.trismegistos.net program files, but that might be a bit over the top, the <a href="http://trends.trismegistos.net/trends.rar" rel="nofollow">download file</a> contains a class that relies on a mysql table being filled every hour with new trends (by cron.php on an apache cron-job), parsing and storing the atom feed of google trends, and listing it as a cross-table in index.php spanning the past 24 hours.</p>
<p>You can also put this in index.php :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$feed</span> <span class="sy0">=</span> simplexml_load_file<span class="br0">&#40;</span><span class="st0">&#39;http://www.google.com/trends/hottrends/atom/hourly&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$children</span> <span class="sy0">=</span> &nbsp;<span class="re1">$feed</span><span class="sy0">-&gt;</span><span class="me1">children</span><span class="br0">&#40;</span><span class="st0">&#39;http://www.w3.org/2005/Atom&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$parts</span> <span class="sy0">=</span> <span class="re1">$children</span><span class="sy0">-&gt;</span><span class="me1">entry</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$parts</span> <span class="kw1">as</span> <span class="re1">$entry</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$details</span> <span class="sy0">=</span> <span class="re1">$entry</span><span class="sy0">-&gt;</span><span class="me1">children</span><span class="br0">&#40;</span><span class="st0">&#39;http://www.w3.org/2005/Atom&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$dom</span> <span class="sy0">=</span> <span class="kw2">new</span> domDocument<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$html</span><span class="sy0">=</span><span class="re1">$details</span><span class="sy0">-&gt;</span><span class="me1">content</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="sy0">@</span><span class="re1">$dom</span><span class="sy0">-&gt;</span><span class="me1">loadHTML</span><span class="br0">&#40;</span><span class="re1">$html</span><span class="br0">&#41;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$anchors</span> <span class="sy0">=</span> <span class="re1">$dom</span><span class="sy0">-&gt;</span><span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#39;a&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$anchors</span> <span class="kw1">as</span> <span class="re1">$anchor</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$url</span> <span class="sy0">=</span> <span class="re1">$anchor</span><span class="sy0">-&gt;</span><span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&#39;href&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$urltext</span> <span class="sy0">=</span> <span class="re1">$anchor</span><span class="sy0">-&gt;</span><span class="me1">nodeValue</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">echo</span> <span class="st0">&#39;&lt;a href=&quot;&#39;</span><span class="sy0">.</span><span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="re1">$urltext</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;.html&quot; target=&quot;_blank&quot;&gt;&#39;</span><span class="sy0">.</span><span class="re1">$urltext</span><span class="sy0">.</span><span class="st0">&#39;&lt;/a&gt; &#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$dom</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$anchors</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$parts</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span><span class="re1">$feed</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>That lists the current 100 google trends with a link. If you use the .htaccess rewrite rules, the server reroutes all the links to <em>trendinfo.php</em> with descriptive urls.</p>
<p>I hope that helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/google-trends-ii/2008/12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>seo tricks : the magpie incident</title>
		<link>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/</link>
		<comments>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 22:05:07 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=166</guid>
		<description><![CDATA[Some universities like Southern California, Harvard and Michigan State have their web-guru&#8217;s explain to us how rss feeds work with the elegant Magpie parser demo : 
Some example on how to use Magpie:
* magpie_simple.php *
  Simple example of fetching and parsing an RSS file. Expects to be
  called with a query param &#8216;rss_url=http://(some [...]]]></description>
			<content:encoded><![CDATA[<p>Some universities like Southern California, Harvard and Michigan State have their web-guru&#8217;s explain to us how rss feeds work with the elegant Magpie parser demo : </p>
<blockquote><p>Some example on how to use Magpie:</p>
<p>* magpie_simple.php *<br />
  Simple example of fetching and parsing an RSS file. Expects to be<br />
  called with a query param &#8216;rss_url=http://(some rss file)&#8217;<br />
&#8230;.</p>
<p>* magpie_debug.php *<br />
  Displays all the information available from a parsed feed.</p></blockquote>
<p>Note : magpie_debug.php is the one to watch for, you can do a google search on :<br />
      <center><strong>site:.edu magpie_debug.php</strong></center><br />
and you get a number of educational facilities that kindly demonstrate the use of the magpie rss parser.</p>
<p>These demo pages have a textbox where you can enter an rss feed url, the magpie demo parses your feed and outputs it as an html-page. </p>
<p>You have to be careful with these programs, though : I actually found one domain (www.scripps.edu) with this remark under the &#8216;parse rss&#8217; button :</p>
<blockquote><p>Security Note:<br />
This is a simple example script. If this was a real script we probably wouldn&#8217;t allow strangers to submit random URLs, and we certainly wouldn&#8217;t simply echo anything passed in the URL. Additionally its a bad idea to leave this example script lying around.
</p></blockquote>
<p>Thank you, you are surely wise like the buddha, I shall try to remember your insight !</p>
<p>&#8230;.<br />
note: after a while I decided I had had enough fun with magpies and took the blog off-line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/seo-tricks-the-magpie-incident/2008/10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>seo tricks : old wine in new bags&#8230;</title>
		<link>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/</link>
		<comments>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 05:19:05 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[pagerank]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=160</guid>
		<description><![CDATA[Get some pagerank : this trick would require tedious boring link checking, but since SeoLinx (an extension of SeoQuake) that has become a lot easier. SeoLinx shows the stats of a links target url so you don&#8217;t have to go to every page to retrieve the stats. Cool plugin. Let&#8217;s put it to some practical [...]]]></description>
			<content:encoded><![CDATA[<p>Get some pagerank : this trick would require tedious boring link checking, but since SeoLinx (an extension of <a href="http://www.seoquake.com/" rel="nofollow">SeoQuake</a>) that has become a lot easier. SeoLinx shows the stats of a links target url so you don&#8217;t have to go to every page to retrieve the stats. Cool plugin. Let&#8217;s put it to some practical use.</p>
<h4>the trick : comment on old forum threads</h4>
<p>Once you have SeoLinx installed find an &#8216;old&#8217; forum, register if you haven&#8217;t already and make sure you get a signature link. Sometimes you first have to be a member for a week or write ten posts, but once you have a sig-link you get backlinks off the forum.</p>
<p>Then go comment on really <strong>old forum threads</strong>. </p>
<p>With SeoLinx you can easily spot the juicy old threads. Old threads on for instance <a href="http://forums.digitalpoint.com/showthread.php?t=179" rel="nofollow">DigitalPoint</a> or Webmasterworld are sometimes pagerank 3. In case of the <a href="http://forums.digitalpoint.com/showthread.php?t=179" rel="nofollow" title="go see for yourself, seo-heathen">DP post</a>, PR2 with 8 posts at the time of writing. </p>
<p>Pick a forum, and browse to the last page of the threads. Hover over the thread anchor and SeoLinx shows you the pagerank of the thread page. As long as the number of posts is below (10, 16 depending on the forum settings) you can put your comments in and they will appear on the first page of that thread, that has that nice pagerank and juice. </p>
<p>Old wine in new bags can be a sweet thing.</p>
<h4>the benefit</h4>
<p>A pagerank 3 &#8216;targetted&#8217; anchor is worth about $9,- a month, $100,- per year. It can take an hour to find a juicy one, but hey, $100,- value for an hours work is well worth the trouble. </p>
<hr />
I might make this a blog feature, <strong>seo tips and tricks of the month</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/seo-tricks-old-wine-in-new-bags/2008/09/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>blogger auto-poster</title>
		<link>http://www.juust.org/index.php/blogger-auto-poster/2008/08/</link>
		<comments>http://www.juust.org/index.php/blogger-auto-poster/2008/08/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 23:23:15 +0000</pubDate>
		<dc:creator>juust</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=130</guid>
		<description><![CDATA[I needed to get my new linkdirectory&#8217;s pages indexed and crawled and google needs some stimulation.
So I take a blogger subdomain,
and a 700 category php link directory
and make a table PLD_TAGCLOUD(CAT_ID, POSTED, TAG, FULLPATH) 
 CREATE TABLE `PLD_TAGCLOUD` (
`ID` BIGINT( 11 ) NOT NULL ,
`CAT_ID` DOUBLE NOT NULL ,
`POSTED` DOUBLE NOT NULL ,
`LEVEL` DOUBLE NOT [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to get my new linkdirectory&#8217;s pages indexed and crawled and google needs some stimulation.</p>
<p>So I take a blogger subdomain,<br />
and a 700 category php link directory<br />
and make a table PLD_TAGCLOUD(CAT_ID, POSTED, TAG, FULLPATH) </p>
<p> CREATE TABLE `PLD_TAGCLOUD` (<br />
`ID` BIGINT( 11 ) NOT NULL ,<br />
`CAT_ID` DOUBLE NOT NULL ,<br />
`POSTED` DOUBLE NOT NULL ,<br />
`LEVEL` DOUBLE NOT NULL ,<br />
`TAG` VARCHAR( 250 ) NOT NULL ,<br />
`FULLPATH` VARCHAR( 250 ) NOT NULL ,<br />
PRIMARY KEY ( `ID` )<br />
) ENGINE = MYISAM </p>
<p>I fill the table with a recursive tree traversal on the category table where &#8220;tag&#8221; is the &#8216;title&#8217; field,<br />
and I get the FULLPATH url by using the domain root and the path generated by traversing the tree :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_USER</span> <span class="sy0">=</span> &nbsp;<span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_PASSWORD</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_HOST</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_DATA</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$link</span> <span class="sy0">=</span> &nbsp;<span class="kw3">mysql_connect</span><span class="br0">&#40;</span><span class="re1">$DB_HOST</span><span class="sy0">,</span> <span class="re1">$DB_USER</span><span class="sy0">,</span> <span class="re1">$DB_PASSWORD</span><span class="br0">&#41;</span> or <span class="re1">$error</span> <span class="sy0">=</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="re1">$link</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">echo</span> <span class="re1">$error</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">exit</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">mysql_select_db</span><span class="br0">&#40;</span><span class="re1">$DB_DATA</span><span class="sy0">,</span> <span class="re1">$link</span><span class="br0">&#41;</span> or <span class="re1">$error</span> <span class="sy0">=</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$link</span> <span class="sy0">=</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$del</span><span class="sy0">=</span><span class="st0">&quot;DELETE FROM `PLD_TAGCLOUD`&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$mydel</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re1">$del</span><span class="sy0">,</span> <span class="re1">$link</span><span class="br0">&#41;</span> or <span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">@</span><span class="kw3">mysql_close</span><span class="br0">&#40;</span><span class="re1">$link</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$root</span><span class="sy0">=</span><span class="st0">&#39;http://links.trismegistos.net&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$content</span> <span class="sy0">.=</span> read<span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span> <span class="re1">$root</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> read<span class="br0">&#40;</span><span class="re1">$rootid</span><span class="sy0">,</span> <span class="re1">$pathid</span><span class="sy0">,</span> <span class="re1">$thislevel</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$link</span> <span class="sy0">=</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$myqry</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT * FROM `PLD_CATEGORY` WHERE `PARENT_ID`=&#39;&quot;</span><span class="sy0">.</span><span class="re1">$rootid</span><span class="sy0">.</span><span class="st0">&quot;&#39;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$myres</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re1">$myqry</span><span class="sy0">,</span> <span class="re1">$link</span><span class="br0">&#41;</span> or <span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">mysql_num_rows</span><span class="br0">&#40;</span><span class="re1">$myres</span><span class="br0">&#41;</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="kw1">return</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">while</span><span class="br0">&#40;</span><span class="re1">$row</span><span class="sy0">=</span><span class="kw3">mysql_fetch_assoc</span><span class="br0">&#40;</span><span class="re1">$myres</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$thispath</span><span class="sy0">=</span> <span class="re1">$pathid</span> <span class="sy0">.</span><span class="st0">&quot;/&quot;</span><span class="sy0">.</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;TITLE_URL&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$link2</span> <span class="sy0">=</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$add</span><span class="sy0">=</span><span class="st0">&quot;INSERT INTO `PLD_TAGCLOUD` (`CAT_ID`, `LEVEL`, `TAG`, `FULLPATH`) VALUES (&#39;&quot;</span><span class="sy0">.</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;ID&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;&#39;, &#39;&quot;</span><span class="sy0">.</span><span class="re1">$thislevel</span><span class="sy0">.</span><span class="st0">&quot;&#39;, &#39;&quot;</span><span class="sy0">.</span><span class="kw3">htmlentities</span><span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;TITLE&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> ENT_QUOTES<span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&quot;&#39; ,&#39;&quot;</span><span class="sy0">.</span><span class="re1">$thispath</span><span class="sy0">.</span><span class="st0">&quot;/&#39;)&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$addit</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re1">$add</span><span class="sy0">,</span> <span class="re1">$link2</span><span class="br0">&#41;</span> or <span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sy0">@</span><span class="kw3">mysql_close</span><span class="br0">&#40;</span><span class="re1">$link2</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; read<span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;ID&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re1">$thispath</span><span class="sy0">,</span> <span class="re1">$thislevel</span><span class="nu0">+1</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sy0">@</span><span class="kw3">mysql_close</span><span class="br0">&#40;</span><span class="re1">$link</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>note : I also use a field level to store the depth of a category-page (o for root, 1 for main categories and mine goes down to 4)</p>
<p>Then we make a simple routine to grab the first record for posted=0,<br />
grab the url<br />
grab the title<br />
grab 3 posts off of google-blogsearch on the TITLE, add em to an email,<br />
add a link to the category page url,<br />
mail(email, subject, message-body, headers)</p>
<p>and ofcourse the coupe-de-grace, the cronjob, 700 posts, 4 per hour, so in about 170 hours my entire site is listed on a nice juicy blog. Just for the hell of it i put the links of the blogsearch on &#8216;follow&#8217; so my poor victims get a link as well.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_USER</span> <span class="sy0">=</span> &nbsp;<span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_PASSWORD</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_HOST</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$DB_DATA</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$link</span> <span class="sy0">=</span> &nbsp;<span class="kw3">mysql_connect</span><span class="br0">&#40;</span><span class="re1">$DB_HOST</span><span class="sy0">,</span> <span class="re1">$DB_USER</span><span class="sy0">,</span> <span class="re1">$DB_PASSWORD</span><span class="br0">&#41;</span> or <span class="re1">$error</span> <span class="sy0">=</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="re1">$link</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">echo</span> <span class="re1">$error</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">exit</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">mysql_select_db</span><span class="br0">&#40;</span><span class="re1">$DB_DATA</span><span class="sy0">,</span> <span class="re1">$link</span><span class="br0">&#41;</span> or <span class="re1">$error</span> <span class="sy0">=</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$link</span> <span class="sy0">=</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$myqry</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT * FROM `PLD_TAGCLOUD` WHERE `POSTED`=&#39;0&#39; ORDER BY ID DESC&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$myres</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re1">$myqry</span><span class="sy0">,</span> <span class="re1">$link</span><span class="br0">&#41;</span> or <span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">mysql_num_rows</span><span class="br0">&#40;</span><span class="re1">$myres</span><span class="br0">&#41;</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="kw1">return</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">while</span><span class="br0">&#40;</span><span class="re1">$row</span><span class="sy0">=</span><span class="kw3">mysql_fetch_assoc</span><span class="br0">&#40;</span><span class="re1">$myres</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$myurl</span> <span class="sy0">=</span> <span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;FULLPATH&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$mykey</span> <span class="sy0">=</span> <span class="kw3">urlencode</span><span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;TAG&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$link2</span> <span class="sy0">=</span> connect<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$add</span><span class="sy0">=</span><span class="st0">&quot;UPDATE `PLD_TAGCLOUD` SET `POSTED`=&#39;1&#39; WHERE `ID`=&#39;&quot;</span><span class="sy0">.</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;ID&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;&#39;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$addit</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re1">$add</span><span class="sy0">,</span> <span class="re1">$link2</span><span class="br0">&#41;</span> or <span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sy0">@</span><span class="kw3">mysql_close</span><span class="br0">&#40;</span><span class="re1">$link2</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sy0">@</span><span class="kw3">mysql_close</span><span class="br0">&#40;</span><span class="re1">$link</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$xmlSource</span><span class="sy0">=</span><span class="st0">&quot;http://blogsearch.google.com/blogsearch_feeds?hl=en&amp;c2coff=1&amp;lr=&amp;safe=active&amp;as_drrb=q&amp;as_qdr=d&amp;q=&quot;</span><span class="sy0">.</span><span class="re1">$mykey</span><span class="sy0">.</span><span class="st0">&quot;&amp;ie=utf-8&amp;num=3&amp;output=rss&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$title</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$link</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$description</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$author</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$pubDate</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$currentElement</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$nieuwsitems</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> startElement<span class="br0">&#40;</span><span class="re1">$parser</span><span class="sy0">,</span><span class="re1">$name</span><span class="sy0">,</span><span class="re1">$attr</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strcmp</span><span class="br0">&#40;</span><span class="re1">$name</span><span class="sy0">,</span><span class="st0">&quot;item&quot;</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;description&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;author&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;pubDate&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;currentElement&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="re1">$name</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strcmp</span><span class="br0">&#40;</span><span class="re1">$name</span><span class="sy0">,</span><span class="st0">&quot;link&quot;</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;href&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="re1">$attr</span><span class="br0">&#91;</span><span class="st0">&quot;href&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> endElement<span class="br0">&#40;</span><span class="re1">$parser</span><span class="sy0">,</span><span class="re1">$name</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$elements</span><span class="sy0">=</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;title&#39;</span><span class="sy0">,</span><span class="st0">&#39;link&#39;</span><span class="sy0">,</span><span class="st0">&#39;description&#39;</span><span class="sy0">,</span><span class="st0">&#39;author&#39;</span><span class="sy0">,</span><span class="st0">&#39;pubDate&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strcmp</span><span class="br0">&#40;</span><span class="re1">$name</span><span class="sy0">,</span><span class="st0">&quot;item&quot;</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$elements</span> <span class="kw1">as</span> <span class="re1">$element</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$temp</span><span class="br0">&#91;</span><span class="re1">$element</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="re1">$element</span><span class="br0">&#93;</span><span class="sy0">;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;nieuwsitems&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="re1">$temp</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;description&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;author&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;pubDate&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strcmp</span><span class="br0">&#40;</span><span class="re1">$name</span><span class="sy0">,</span><span class="st0">&quot;item&quot;</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;description&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;author&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&#39;pubDate&#39;</span><span class="br0">&#93;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> characterData<span class="br0">&#40;</span><span class="re1">$parser</span><span class="sy0">,</span> <span class="re1">$data</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$elements</span> <span class="sy0">=</span> <span class="kw3">array</span> <span class="br0">&#40;</span><span class="st0">&#39;title&#39;</span><span class="sy0">,</span> <span class="st0">&#39;link&#39;</span><span class="sy0">,</span> <span class="st0">&#39;description&#39;</span><span class="sy0">,</span><span class="st0">&#39;author&#39;</span><span class="sy0">,</span><span class="st0">&#39;pubDate&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$elements</span> <span class="kw1">as</span> <span class="re1">$element</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="st0">&quot;currentElement&quot;</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="re1">$element</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$GLOBALS</span><span class="br0">&#91;</span><span class="re1">$element</span><span class="br0">&#93;</span> <span class="sy0">.=</span> <span class="re1">$data</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> parseFile<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">global</span> <span class="re1">$xmlSource</span><span class="sy0">,</span><span class="re1">$nieuwsitems</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$xml_parser</span><span class="sy0">=</span><span class="kw3">xml_parser_create</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">xml_set_element_handler</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="sy0">,</span><span class="st0">&quot;startElement&quot;</span><span class="sy0">,</span><span class="st0">&quot;endElement&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">xml_set_character_data_handler</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="sy0">,</span><span class="st0">&quot;characterData&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">xml_parser_set_option</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="sy0">,</span>XML_OPTION_CASE_FOLDING<span class="sy0">,</span><span class="kw2">false</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="re1">$fp</span><span class="sy0">=</span><span class="kw3">fopen</span><span class="br0">&#40;</span><span class="re1">$xmlSource</span><span class="sy0">,</span><span class="st0">&quot;r&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">die</span><span class="br0">&#40;</span><span class="st0">&quot;Cannot open &nbsp;$xmlSource &nbsp;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">while</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re1">$data</span><span class="sy0">=</span><span class="kw3">fread</span><span class="br0">&#40;</span><span class="re1">$fp</span><span class="sy0">,</span><span class="nu0">4096</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">xml_parse</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="sy0">,</span><span class="re1">$data</span><span class="sy0">,</span><span class="kw3">feof</span><span class="br0">&#40;</span><span class="re1">$fp</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">die</span><span class="br0">&#40;</span><span class="kw3">sprintf</span><span class="br0">&#40;</span><span class="st0">&quot;XML error at line %d column %d &quot;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">xml_get_current_line_number</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="br0">&#41;</span><span class="sy0">,</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">xml_get_current_column_number</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">xml_parser_free</span><span class="br0">&#40;</span><span class="re1">$xml_parser</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$nieuwsitems</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$result</span> <span class="sy0">=</span> parseFile<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re1">$result</span> <span class="kw1">as</span> <span class="re1">$arr</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$strResult</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt; hr /&gt;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$strResult</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt; h4&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt; /h4&gt;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;description&quot;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt; br /&gt;&lt;a href=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;link&quot;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&quot; title=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39; (&#39;</span><span class="sy0">.</span><span class="kw3">parse_url</span><span class="br0">&#40;</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;link&quot;</span><span class="br0">&#93;</span><span class="sy0">,</span> PHP_URL_HOST<span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;)&quot;&gt;&quot;&#39;</span><span class="sy0">.</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39; (&#39;</span><span class="sy0">.</span><span class="kw3">parse_url</span><span class="br0">&#40;</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="st0">&quot;link&quot;</span><span class="br0">&#93;</span><span class="sy0">,</span> PHP_URL_HOST<span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&#39;)&lt;/a&gt;&lt; br /&gt;&lt; br /&gt;&#39;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$strResult</span> <span class="sy0">.=</span> <span class="st0">&#39;&lt; br /&gt; &lt; a href=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$myurl</span><span class="sy0">.</span><span class="st0">&#39;&quot; title=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$mykey</span><span class="sy0">.</span><span class="st0">&#39;&quot;&gt;trismegistos links : &#39;</span><span class="sy0">.</span><span class="re1">$mykey</span><span class="sy0">.</span><span class="st0">&#39;&lt; /a&gt;&lt; br /&gt;&#39;</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$email</span><span class="sy0">=</span><span class="st0">&#39;juustout.linkdirectory@blogger.com&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$subject</span> <span class="sy0">=</span> <span class="re1">$mykey</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">mail</span><span class="br0">&#40;</span><span class="re1">$email</span><span class="sy0">,</span><span class="re1">$subject</span><span class="sy0">,</span><span class="re1">$strResult</span><span class="sy0">,</span> <span class="st0">&quot;MIME-Version: 1.0<span class="es0">\n</span>&quot;</span><span class="sy0">.</span><span class="st0">&quot;Content-type: text/html; charset=iso-8859-1&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="re1">$strResult</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>(note the html markup in the last lines is < br />, if you cut and paste it, remove the space or you get a mess, also note the extra header in the php mail function, makes it possible to post html-marked up text (otherwise you get flat text posted and your site looks like ****).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/blogger-auto-poster/2008/08/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
