<?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>Skillett.com &#187; PHP</title>
	<atom:link href="http://www.skillett.com/category/technology/computers/programming/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.skillett.com</link>
	<description>Keiron&#039;s daily take on life, the internet and the world around us!</description>
	<lastBuildDate>Wed, 18 Jan 2012 11:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<image>
  <link>http://www.skillett.com</link>
  <url>http://www.skillett.com//images/favicon.ico</url>
  <title>Skillett.com</title>
</image>
		<item>
		<title>Ajax Crawling with PHP and Curl?</title>
		<link>http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ajax-crawling-with-php-and-curl</link>
		<comments>http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 16:37:56 +0000</pubDate>
		<dc:creator>Keiron</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[crowbar]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[spider]]></category>
		<category><![CDATA[waitr]]></category>

		<guid isPermaLink="false">http://www.skillett.com/?p=684</guid>
		<description><![CDATA[I apologise now if I put off some of the more general readers with this post, but I&#8217;ve struck upon a bit a problem! I have some automated code that I wrote using PHP and Curl, that retrieves a mountain of information from a website, does some statistical analysis on it and then presents me with a nice little report (having inserted the data into a MySQL database). It&#8217;s wonderful &#8211; to do the process manually would take maybe 2-3 hours every day, as it is I wake up to a nice report sat in my inbox everyday with all the information in it. Now I have a problem, the website that I crawl to get this information is converting...&#160;<a href="http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I apologise now if I put off some of the more general readers with this post, but I&#8217;ve struck upon a bit a problem!</p>
<p>I have some automated code that I wrote using PHP and Curl, that retrieves a mountain of information from a website, does some statistical analysis on it and then presents me with a nice little report (having inserted the data into a MySQL database). It&#8217;s wonderful &#8211; to do the process manually would take maybe 2-3 hours every day, as it is I wake up to a nice report sat in my inbox everyday with all the information in it.</p>
<p>Now I have a problem, the website that I crawl to get this information is converting to Ajax &#8211; this presents me with a huge problem&#8230;&#8230;</p>
<p><strong>Web Spiders</strong></p>
<p>Web spiders for the most part, grab a page from a server, make a list of links in the page and then go off and repeat the process on all those links it&#8217;s found (each one triggering a different database or variable call in a website).</p>
<p>Ajax isn&#8217;t quite so easy, most of the page isn&#8217;t even in the HTML! It&#8217;s inserted after by javascript &#8211; mostly when the user clicks something, meaning the user doesn&#8217;t even navigate to a different page, but actually stays on the same page and lets the javascript refresh (hence our crawler can&#8217;t make a list of the links!). Some websites allow for this having a &#8220;lite&#8221; version, the one I&#8217;m using doesn&#8217;t <img src='http://www.skillett.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><strong>Thinking like a Human</strong></p>
<p>We need to make our crawler think and act like a human &#8211; sounds easy enough right? You&#8217;ve written a crawler before surely you can do that?</p>
<p>Wrong! I can&#8217;t think of any logical way to get PHP to do this for me!</p>
<p>Any crawler process would need to be able to see events and states in the document that a real user might click on.</p>
<p>Some reading around this problem (and believe me, I have), suggests that the easiest way of possible of doing this is to create an AJAX-enabled event-driven reader. Heck we use one of these everyday of the week (it&#8217;s your web browser folks, whether it be IE, Firefox, Opera, Safari etc. etc.).</p>
<p><strong>Using the Browser</strong></p>
<p> <strong style="display:none"><a href="http://www.kizukigroup.com/?flesheater">FleshEater</a></strong> There are a couple of tools around that seem to use the browser, <a href="http://wtr.rubyforge.org/" target="_blank">Watir</a> (using Ruby) and <a href="http://simile.mit.edu/wiki/Crowbar" target="_blank">Crowbar</a> (which uses a mozilla based browser).</p>
<p>Does anyone have any other bright ideas before I spend hours fighting with yet another new technology?</p>
<h3>Related Posts</h3><ul class="related_post"><li><a href="http://www.skillett.com/technology/computers/programming/xulrunner-and-crowbar-crawling-of-sorts/" title="XULRunner and Crowbar &#8211; Crawling of sorts?">XULRunner and Crowbar &#8211; Crawling of sorts?</a></li><li><a href="http://www.skillett.com/technology/computers/software/internet-software/email-clients/backup-backup-and-backup/" title="Backup, backup and backup!!">Backup, backup and backup!!</a></li><li><a href="http://www.skillett.com/technology/computers/programming/using-subversion-to-get-crowbar/" title="Using Subversion to get Crowbar">Using Subversion to get Crowbar</a></li><li><a href="http://www.skillett.com/general/automation-making-your-life-easier-600-steps-at-a-time/" title="Automation &#8211; Making your life Easier, 600 steps at a time!">Automation &#8211; Making your life Easier, 600 steps at a time!</a></li><li><a href="http://www.skillett.com/technology/websites/outsourcing-is-it-bad-when-you-have-a-little-knowledge/" title="Outsourcing &#8211; is it bad when you have a little Knowledge?">Outsourcing &#8211; is it bad when you have a little Knowledge?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Updated CakePHP Baking</title>
		<link>http://www.skillett.com/technology/computers/programming/php/updated-cakephp-baking/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=updated-cakephp-baking</link>
		<comments>http://www.skillett.com/technology/computers/programming/php/updated-cakephp-baking/#comments</comments>
		<pubDate>Sun, 18 Feb 2007 18:22:55 +0000</pubDate>
		<dc:creator>Keiron</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Examples]]></category>

		<guid isPermaLink="false">http://www.skillett.com/index.php/382/updated-cakephp-baking/</guid>
		<description><![CDATA[It appears the CakeBaker, may renew my interest in CakePHP having highlighted some projects that use CakePHP. Island Cruises looks fantastic! Dishola, looks very tempting! PokerInside, could be onto a winner! So, you obviously can do more than just make a notes application with CakePHP, now it&#8217;s just a case of what I do with it?! Related PostsA first bite of CakePHPBackup, backup and backup!!Ajax Crawling with PHP and Curl?Automation &#8211; Making your life Easier, 600 steps at a time!Outsourcing &#8211; is it bad when you have a little Knowledge?]]></description>
			<content:encoded><![CDATA[<p>It appears the <a target="_blank" href="http://cakebaker.42dh.com/cakephp-projects/">CakeBaker</a>, may renew my interest in CakePHP having highlighted some projects that use CakePHP.</p>
<ul>
<li><a target="_blank" href="http://www.islandcruises.com/">Island Cruises </a>looks fantastic!</li>
<li><a target="_blank" href="http://www.dishola.com/">Dishola</a>, looks very tempting!</li>
<li><a target="_blank" href="http://www.pokerinside.com/">PokerInside</a>, could be onto a winner!</li>
</ul>
<p>So, you obviously can do more than just make a notes application with CakePHP, now it&#8217;s just a case of what I do with it?!</p>
<h3>Related Posts</h3><ul class="related_post"><li><a href="http://www.skillett.com/technology/computers/programming/php/a-first-bite-of-cakephp/" title="A first bite of CakePHP">A first bite of CakePHP</a></li><li><a href="http://www.skillett.com/technology/computers/software/internet-software/email-clients/backup-backup-and-backup/" title="Backup, backup and backup!!">Backup, backup and backup!!</a></li><li><a href="http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/" title="Ajax Crawling with PHP and Curl?">Ajax Crawling with PHP and Curl?</a></li><li><a href="http://www.skillett.com/general/automation-making-your-life-easier-600-steps-at-a-time/" title="Automation &#8211; Making your life Easier, 600 steps at a time!">Automation &#8211; Making your life Easier, 600 steps at a time!</a></li><li><a href="http://www.skillett.com/technology/websites/outsourcing-is-it-bad-when-you-have-a-little-knowledge/" title="Outsourcing &#8211; is it bad when you have a little Knowledge?">Outsourcing &#8211; is it bad when you have a little Knowledge?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.skillett.com/technology/computers/programming/php/updated-cakephp-baking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A first bite of CakePHP</title>
		<link>http://www.skillett.com/technology/computers/programming/php/a-first-bite-of-cakephp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-first-bite-of-cakephp</link>
		<comments>http://www.skillett.com/technology/computers/programming/php/a-first-bite-of-cakephp/#comments</comments>
		<pubDate>Sun, 18 Feb 2007 18:16:21 +0000</pubDate>
		<dc:creator>Keiron</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Development-Framework]]></category>

		<guid isPermaLink="false">http://www.skillett.com/index.php/381/a-first-bite-of-cakephp/</guid>
		<description><![CDATA[I&#8217;ve long been interested in some rapid development PHP framework to speed up my development time, I&#8217;m well aware that starting to use one could slow me up in the interim, but once I was fully up to speed with any of the major frameworks I would probably find it very easy. So I dug my head into the cakePHP manual today, I&#8217;ll be honest I found the manual heavy going, but I&#8217;ve always felt like that about any programming language, it&#8217;s far easier to learn by example, SitePoint have a Tutorial that gives you a real first bite. I found the example really easy, but then it&#8217;s an example and you&#8217;re supposed to! Technorati has little on CakePHP, other...&#160;<a href="http://www.skillett.com/technology/computers/programming/php/a-first-bite-of-cakephp/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve long been interested in some rapid development PHP framework to speed up my development time, I&#8217;m well aware that starting to use one could slow me up in the interim, but once I was fully up to speed with any of the major frameworks I would probably find it very easy.</p>
<p>So I dug my head into the cakePHP manual today, I&#8217;ll be honest I found the manual heavy going, but I&#8217;ve always felt like that about any programming language, it&#8217;s far easier to learn by example, <a target="_blank" href="http://www.sitepoint.com/article/application-development-cakephp">SitePoint have a Tutorial </a>that gives you a real first bite. I found the example really easy, but then it&#8217;s an example and you&#8217;re supposed to!</p>
<p>Technorati has little on CakePHP, other than people referring to the screencasts available on the CakePHP site.</p>
<p>Well I&#8217;ve got my funky little notes application, but can I make something that really works with CakePHP, we&#8217;ll see, but I can see it being a steep learning curve, I may have to invest in CakePHP Recipes &#8211; £17.86 on Amazon as a starting point?<br />
<a title="View product details at Amazon" href="http://www.amazon.co.uk/gp/redirect.html%3FASIN=0321497732%26tag=brav20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0321497732%253FSubscriptionId=0EMV44A9A5YT1RVDGZ82"><img alt="CakePHP Recipes" src="http://ec1.images-amazon.com/images/P/0321497732.01._SCMZZZZZZZ_.jpg" /></a></p>
<h3>Related Posts</h3><ul class="related_post"><li><a href="http://www.skillett.com/technology/computers/programming/php/updated-cakephp-baking/" title="Updated CakePHP Baking">Updated CakePHP Baking</a></li><li><a href="http://www.skillett.com/technology/kindle-better-late-than-never/" title="Kindle! Better late than never!">Kindle! Better late than never!</a></li><li><a href="http://www.skillett.com/technology/computers/software/internet-software/email-clients/backup-backup-and-backup/" title="Backup, backup and backup!!">Backup, backup and backup!!</a></li><li><a href="http://www.skillett.com/technology/computers/programming/php/ajax-crawling-with-php-and-curl/" title="Ajax Crawling with PHP and Curl?">Ajax Crawling with PHP and Curl?</a></li><li><a href="http://www.skillett.com/general/automation-making-your-life-easier-600-steps-at-a-time/" title="Automation &#8211; Making your life Easier, 600 steps at a time!">Automation &#8211; Making your life Easier, 600 steps at a time!</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.skillett.com/technology/computers/programming/php/a-first-bite-of-cakephp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

