<?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>ArthurGeek.net &#187; xml</title>
	<atom:link href="http://www.arthurgeek.net/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arthurgeek.net</link>
	<description>Rails, Mac... e Rock'n Roll!</description>
	<lastBuildDate>Sat, 20 Dec 2008 23:25:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Feed 89 FM</title>
		<link>http://www.arthurgeek.net/feed-89-fm/</link>
		<comments>http://www.arthurgeek.net/feed-89-fm/#comments</comments>
		<pubDate>Sun, 13 May 2007 21:32:00 +0000</pubDate>
		<dc:creator>ArthurGeek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.arthurgeek.net/2007/06/11/feed-89-fm</guid>
		<description><![CDATA[Depois que eu comecei a usar FeedReaders online (primeiro usei o Bloglines agora migrei para o Google Reader) nunca mais visitei qualquer site para ir atrás de notícias, quer dizer, visitava apenas um: o site da 89 FM.
Sempre pensei em criar um feed para a seção Notas Musicais do site. Só que nunca fui atrás, [...]]]></description>
			<content:encoded><![CDATA[<p>Depois que eu comecei a usar FeedReaders online (primeiro usei o <a href="http://www.bloglines.com" title="Bloglines">Bloglines</a> agora migrei para o <a href="http://reader.google.com" title="Google Reader">Google Reader</a>) nunca mais visitei qualquer site para ir atrás de notícias, quer dizer, visitava apenas um: <a href="http://www.89fm.com.br" title="89, a rádio Rock">o site da 89 FM</a>.</p>
<p>Sempre pensei em criar um feed para a seção <a href="http://www.89fm.com.br/notas/">Notas Musicais</a> do site. Só que nunca fui atrás, por pura falta de tempo em procurar por bibliotecas que fizessem o Parsing em HTML, tanto em <a href="http://www.python.org">Python</a> ou <a href="http://www.php.net">PHP</a>.</p>
<p>Depois de conhecer <a href="http://www.ruby-lang.org">Ruby</a>, pensei em perder um tempinho, procurando alguma biblioteca que fizesse o Parsing HTML, e depois, construir o feed RSS. Fazer o Feed seria a parte mais fácil, graças à biblioteca <a href="http://builder.rubyforge.org/">Builder</a> usada para gerar arquivos XML.</p>
<p>O parsing ficaria à cargo da excelente <a href="http://code.whytheluckystiff.net/hpricot/">Hpricot</a>. Porém, encontrei uma outra biblioteca, chamada <a href="http://termos.vemod.net/feedalizer">Feedalizer</a> que usa a Hpricot para criar feeds RSS. Menos trabalho que isso, impossível!</p>
<p>Então, aqui vai o código usada para gerar o feed da página:</p>
<pre class="ruby"><code><span class="co1">#!/usr/bin/env ruby</span>
&nbsp;
<span class="kw3">require</span> <span class="st0">&quot;rubygems&quot;</span>
<span class="kw3">require</span> <span class="st0">&quot;feedalizer&quot;</span>
<span class="kw3">require</span> <span class="st0">&quot;time&quot;</span>
&nbsp;
rss = <span class="kw4">File</span>.<span class="me1">new</span><span class="br0">&#40;</span><span class="st0">&quot;arthurgeek.net/89.xml&quot;</span>,<span class="st0">&quot;w&quot;</span><span class="br0">&#41;</span>
&nbsp;
feedalize<span class="br0">&#40;</span><span class="st0">&quot;http://www.89fm.com.br/notas/&quot;</span><span class="br0">&#41;</span> <span class="kw1">do</span>
  feed.<span class="me1">title</span> = <span class="st0">&quot;89 FM Notas&quot;</span>
  feed.<span class="me1">about</span> = <span class="st0">&quot;...&quot;</span>
  feed.<span class="me1">description</span> = <span class="st0">&quot;Notícias do mundo musical da 89FM&quot;</span>
&nbsp;
  scrape_items<span class="br0">&#40;</span><span class="st0">&quot;a.formtextobranco&quot;</span><span class="br0">&#41;</span> <span class="kw1">do</span> |rss_item, html_element|
    rss_item.<span class="me1">link</span>  = <span class="st0">&quot;http://www.89fm.com.br&quot;</span> + html_element.<span class="me1">attributes</span><span class="br0">&#91;</span><span class="st0">&quot;href&quot;</span><span class="br0">&#93;</span>
    rss_item.<span class="me1">date</span>  = <span class="kw4">Time</span>.<span class="me1">parse</span><span class="br0">&#40;</span>html_element.<span class="me1">to_s</span><span class="br0">&#41;</span>
    rss_item.<span class="me1">title</span> = html_element.<span class="me1">inner_html</span>
&nbsp;
    rss_item.<span class="me1">description</span> = html_element.<span class="me1">inner_html</span>
  <span class="kw1">end</span>
&nbsp;
  output! rss
<span class="kw1">end</span>
&nbsp;
rss.<span class="me1">close</span></code></pre>
<p>O arquivo do feed está disponível <a href="http://www.arthurgeek.net/89.xml">aqui</a> e já estou usando-o há mais de 2 meses, e acredito, que não tem mais bugs, e pode agora, ser usado por qualquer um.</p>
<p>Ah, como eu gosto desta linguagem&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arthurgeek.net/feed-89-fm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
