{"id":704,"date":"2009-04-01T21:13:25","date_gmt":"2009-04-02T00:13:25","guid":{"rendered":"http:\/\/meiradarocha.jor.br\/news\/?p=704"},"modified":"2012-01-12T20:59:11","modified_gmt":"2012-01-12T23:59:11","slug":"hacking-googlenilhawikipedia","status":"publish","type":"post","link":"https:\/\/meiradarocha.jor.br\/news\/2009\/04\/01\/hacking-googlenilhawikipedia\/","title":{"rendered":"Hacking googlenilha+Wikip\u00e9dia"},"content":{"rendered":"<p>Vamos supor que, por falta de sexo, voc\u00ea se divirta levantando dados sobre munic\u00edpios brasileiros.<\/p>\n<p>Umas das melhores fontes, depois do IBGE e Associa\u00e7\u00e3o dos Munic\u00edpios, seria a Wikip\u00e9dia. Mas voc\u00ea vai clicar em 5560 p\u00e1ginas? N\u00e3o! Existe uma maneira mais complicada e divertida de fazer isto.<\/p>\n<p>Primeiro abra uma <a href=\"http:\/\/docs.google.com\/\" target=\"_blank\">googlenilha<\/a> e obtenha, com o seguinte comando, uma lista de munic\u00edpios (no caso, do Rio Grande do Sul que come\u00e7am com a letra A):<!--more--><\/p>\n<pre>=importHtml(\"<a href=\"http:\/\/pt.wikipedia.org\/wiki\/Anexo:Lista_de_munic%C3%ADpios_do_Rio_Grande_do_Sul\" target=\"_blank\">http:\/\/pt.wikipedia.org\/wiki\/Anexo:Lista_de_munic\u00edpios_do_Rio_Grande_do_Sul<\/a>\";\"list\";1)<\/pre>\n<p>Voc\u00ea pode usar os \u00edndices de listas de cidades come\u00e7ando com a letra A (1) at\u00e9 a letra Z (26).<\/p>\n<p>Em outra folha da planilha, obtenha um dado da primeira cidade da lista com este comando:<\/p>\n<pre>=importXML(CONCATENATE(\"<a href=\"http:\/\/pt.wikipedia.org\/wiki\/\" target=\"_blank\">http:\/\/pt.wikipedia.org\/wiki\/<\/a>\";P\u00e1gina1!A1);\"\/\/table[@class='infobox']\/tr[22]\/td\")<\/pre>\n<p>O <strong><span style=\"font-family: courier new,monospace;\">CONCATENATE <\/span><\/strong>monta o endere\u00e7o URL da p\u00e1gina, na Wikip\u00e9dia, do primeiro munic\u00edpio da lista, na folha P\u00e1gina1, c\u00e9lula A1.<\/p>\n<p>O <strong><span style=\"font-family: courier new,monospace;\">importXML<\/span><\/strong> pega a p\u00e1gina no endere\u00e7o e extrai os dados conforme o XPath (da c\u00e9lula &lt;td&gt; da 22\u00aa linha &lt;tr&gt; &#8212; no caso, \u00e9 a popula\u00e7\u00e3o &#8212; da tabela &lt;table&gt; de classe CSS &#8220;infobox&#8221;\u00a0 &#8212; no caso, \u00e9 a ficha do munic\u00edpio &#8212; da primeira cidade da lista).<\/p>\n<p>Puxe a c\u00e9lula para baixo pelo cantinho para replic\u00e1-la para todas as cidades da lista.<\/p>\n<p>Na Wikip\u00e9dia, espera-se que todos os dados correspondentes estejam na mesma posi\u00e7\u00e3o da tabela, porque s\u00e3o gerados por &#8220;predefini\u00e7\u00f5es&#8221;.<\/p>\n<h3>Cota\u00e7\u00f5es<\/h3>\n<p>Um bom uso desta fun\u00e7\u00e3o, por exemplo, pode ser a recupera\u00e7\u00e3o de cota\u00e7\u00f5es de a\u00e7\u00f5es da Bovespa. Um investidor pode ter numa s\u00f3 planilha toda sua carteira de a\u00e7\u00f5es com f\u00f3rmulas como esta:<\/p>\n<pre>=importXML(\"http:\/\/www.bmfbovespa.com.br\/Pregao-Online\/ExecutaAcaoAjax.asp?CodigoPapel=VALE3\";\"\/\/Papel\/@ultimo\")<\/pre>\n<p>Troque &#8220;vale3&#8221; por &#8220;petr3&#8221; ou qualquer outro c\u00f3digo de a\u00e7\u00f5es. Em vez de &#8220;ultimo&#8221;, podem ser filtrados os par\u00e2metros dentro do n\u00f3 &lt;Papel Codigo=&#8221;VALE3&#8243; Nome=&#8221;VALE ON N1&#8243; Ibovespa=&#8221;#&#8221; Data=&#8221;19\/11\/2009 19:29:47&#8243; Abertura=&#8221;48,05&#8243; Minimo=&#8221;47,75&#8243; Maximo=&#8221;48,80&#8243; Medio=&#8221;48,27&#8243; Ultimo=&#8221;48,80&#8243; Oscilacao=&#8221;0,49&#8243;\/&gt;. Mas devem ser colocados todos em min\u00fascula.<\/p>\n<p>[Atualiza\u00e7\u00e3o 2012-01-12]<\/p>\n<p>Uma outra f\u00f3rmula para pegar a cota\u00e7\u00e3o de uma a\u00e7\u00e3o \u00e9 esta, da PETR4:<\/p>\n<pre>=ImportXML(\"http:\/\/www.bmfbovespa.com.br\/Pregao-online\/ExecutaAcaoCotRapXSL.asp?gstrCA=&amp;txtCodigo=PETR4&amp;intIdiomaXsl=0\";\"\/\/table[@id='tbCotacoesInfo']\/tr[1]\/td[2]\")<\/pre>\n<p>Para ajudar a descobrir o xPath correto dos dados, uso o <a href=\"http:\/\/xpath.alephzarro.com\/\">plugin Firefox Xpath Generator<\/a>.<\/p>\n<h3>Limita\u00e7\u00f5es<\/h3>\n<ol>\n<li>Por enquanto, as googlenilhas s\u00f3 aceitam 50 f\u00f3rmulas importXML por folha.<\/li>\n<li>D\u00e1 um trabalho do C\u00e3o. Isto \u00e9 s\u00f3 um exemplo did\u00e1tico de como extrair dados da rede pelo Google Planilha. Al\u00e9m da Wikip\u00e9dia, d\u00e1 pra usar arquivos texto e CSV. Por exemplo, arquivos de cota\u00e7\u00f5es atualizadas frequentemente.<\/li>\n<\/ol>\n<h3>Bibliografia<\/h3>\n<ol>\n<li><a href=\"http:\/\/www.w3.org\/TR\/xpath\" target=\"_blank\">XPath<\/a><\/li>\n<li><a href=\"http:\/\/www.w3schools.com\/XPath\/default.asp\" target=\"_blank\">XPath Tutorial<\/a><\/li>\n<li><a href=\"http:\/\/xpath.alephzarro.com\/\">XPath Generator<\/a><\/li>\n<li><a href=\"http:\/\/docs.google.com\/support\/bin\/answer.py?answer=75507&amp;topic=16775\" target=\"_blank\">Google. Ajuda do Docs. Fun\u00e7\u00f5es: Que fun\u00e7\u00f5es posso usar para obter dados externos?<\/a><\/li>\n<li>Wikipedista hardcore <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Usu%C3%A1rio:Leonardo.stabile\" target=\"_blank\">Leonardo Stabile<\/a><\/li>\n<li>Dados de cabe\u00e7alho HTTP obtidos com o plugin Live HTTP Headers para browser Firefox.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Vamos supor que, por falta de sexo, voc\u00ea se divirta levantando dados sobre munic\u00edpios brasileiros. Umas das melhores fontes, depois do IBGE e Associa\u00e7\u00e3o dos Munic\u00edpios, seria a Wikip\u00e9dia. Mas [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,5,34],"tags":[],"class_list":["post-704","post","type-post","status-publish","format-standard","hentry","category-computadores","category-midias-digitais","category-web"],"_links":{"self":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/comments?post=704"}],"version-history":[{"count":0,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/704\/revisions"}],"wp:attachment":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/media?parent=704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/categories?post=704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/tags?post=704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}