Segunda-feira, 23 de Março de 2009

O SAPO disponibiliza um Open Search RSS do seu motor de pesquisa em http://services.sapo.pt/Metadata/Service/Search.

 

Para efectuar uma pesquisa pelo termo "sapo", por exemplo, basta aceder a http://services.sapo.pt/Search/RSS?q=sapo, recebendo-se uma resposta algo como:

 

    <?xml version="1.0" encoding="UTF-8"?>
    <rss xmlns:products="http://www.sapo.pt/RSS/Modules/Search/Products" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:sapo="http://www.sapo.pt/RSS/Modules/Search" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
        <channel>
            <link>http://pesquisa.sapo.pt/?q=sapo&amp;rss=1</link>
            <language>pt-pt</language>
            <copyright>2008, PT.COM</copyright>
            <description>sapo</description>
            <title>sapo - Pesquisa SAPO</title>
            <openSearch:totalResults>625000</openSearch:totalResults>
            <openSearch:itemsPerPage>10</openSearch:itemsPerPage>
            <openSearch:startIndex>0</openSearch:startIndex>
            <item>
                <link>http://adsl.sapo.pt/</link>
                <title>SAPO ADSL</title>
                <description>Banda Larga Móvel. Se já é Cliente SAPO ADSL, aproveite a Banda Larga Móvel Grátis!</description>
                <guid>http://adsl.sapo.pt/</guid>
                <author>crawlersapo &lt;crawler@co.sapo.pt&gt;</author>
            </item>
            ...
        </channel>
    </rss>

 

Para efectuar uma pesquisa pelos termos "software" e "livre", limitando o número de resultados a 5 e usando um offset de 10, por exemplo, basta aceder a http://services.sapo.pt/Search/RSS?q=software+livre&limit=5&offset=10.

 

Boas pesquisas!



publicado por jac às 10:00
link do post | comentar | adicionar aos favoritos |

9 comentários:
De Vitor Silva a 23 de Março de 2009 às 14:24
não é necessário obter nenhuma chave previamente para podermos utilizar esse serviço?
há algum limite de utilização? nº pedidos / dia?


De João Pedro Gonçalves a 25 de Março de 2009 às 08:27
Olá Vitor,

De momento não implementamos sistema de chaves para utilizadores, só em cenários de utilização mais intensiva.
Vigiamos por abusos e violações dos termos de serviço, um dos
cenários mais comuns é a da utilização da Pesquisa por spammers para identificar páginas com endereços de e-mail, pelo que nesses casos bloqueamos os acesso.


De João Sil a 25 de Março de 2009 às 20:06
Para mostrar a facilidade e simplicidade de integração deste serviço, deixo aqui um exemplo de como se pode implementar um parser do feed de RSS.
Neste caso os resultados são apresentados na consola, mas pode ser facilmente alterado para se usar uma outra interface qualquer.
Podem partilhar as vossas implementações.
use strict;
use warnings;
use XML::RSS::Parser;

my $rp   = XML::RSS::Parser->new;
my $feed = $rp->parse_uri('http://services.sapo.pt/Search/RSS?q=sapo');

# Gather all the information on the feed results
my %info = ();
$info{'title'}       = $feed->query('/channel/title')->text_content;
$info{'link'}        = $feed->query('/channel/link')->text_content;
$info{'description'} = $feed->query('/channel/description')->text_content;
$info{'results'}     = $feed->query('/channel/openSearch:totalResults')->text_content;
$info{'start_index'} = $feed->query('/channel/openSearch:startIndex')->text_content;

my @items = ();
foreach my $i ( $feed->query('//item') ) {
    push @items, {
        'title'       => $i->query('title')->text_content,
        'link'        => $i->query('link')->text_content,
        'description' => $i->query('description')->text_content,
        }        
}

# Display the information
print $info{'title'}, "\t", $info{'link'}, "\n",
      $info{'description'}, "\n", "Número de resultados\t",
      $info{'results'}, "\n", "Início\t", $info{'start_index'}, "\n";

foreach my $i (@items) {
    print "-" x 80, "\n",
          $i->{'title'}, "\n",
          $i->{'link'}, "\n",
          $i->{'description'},"\n";
}


De Pedro Dias a 31 de Março de 2010 às 10:17
Boas!!
Esse offset é o que exactamente?
Não é possivél efectuar pesquisas num determinado intervalo de tempo?

Obrigado,

Pedro Dias


De jac a 31 de Março de 2010 às 17:10
O offset serve para descartarmos os primeiros n elementos que nos seriam retornados.

Assim, usando &limit=5&offset=0 vamos receber os primeiros 5, mas usando &limit=5&offset=5 vamos receber as respostas do sexto ao décimo elemento (passamos assim os primeiros cinco à frente).

O offset é o que se usa para fazer paginação.

Quanto a pesquisas num determinado intervalo de tempo, tal não é possível nesta pesquisa web, já que as páginas indexadas não possuem uma data associada.


De Ana Ribeiro a 11 de Abril de 2010 às 17:36
boa tarde. Construí o meu site no Sapo (homepages.sapo.pt), cujo dominio é "com.sapo.pt" . Estou a desenvolver uns projectos em que me dava muito jeito ter FEED e RSS. Gostaria de saber como posso fazer FEED e RSS no meu site, dominio "com.sapo.pt"

obrigada


De jonasnuts a 20 de Abril de 2010 às 16:40
Olá Ana.

As Homepages do SAPO não têm RSS, por não se tratar dum sistema de publicação estruturado. O RSS é típico de plataformas de publicação sistemática, como os Blogs.

Sugerimos-lhe que veja se os Blogs do SAPO não poderão constituir uma alternativa viável (e até mais rica) às homepages que são um serviço antigo (e que por sinal estamos a remodelar).

Se nos quiser dar o endereço da sua homepage nós podemos fazer essa recomendação (ou não).

Os Blogs do SAPO têm RSS por omissão.


De Ana Ribeiro a 20 de Abril de 2010 às 19:45
Boa tarde,

agradeço desde já a vossa atenção em resposta a minha questão.

A minha homepage:
http://anaribeirodesigner.com.sapo.pt/

obrigada


De jonasnuts a 22 de Abril de 2010 às 09:27
Pode perfeitamente reproduzir a sua página num blog que, para além de RSS tem outras funcionalidades que lhe poderão ser úteis, além de ter um interface de gestão muitíssimo mais acessível que o das Homepages.

Pode sempre usar o espaço na Homepage para alojar PDF ou outros documentos que queira disponibilizar para download.

Se precisar de ajuda com o Blog (caso opte por avançar para essa solução) pode contar connosco aqui: http:/blogs.blogs.sapo.pt :)


Comentar post

Autores
pesquisar
 
Janeiro 2012
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
10
11
12
13
14

15
16
17
18
19
20
21

22
23
24
25
26
27
28

29
30
31



follow saposessions at http://twitter.com
posts recentes

Integração do Blog de Dev...

Vídeos da LXMLS

Evento HTML5 PT - 3 de No...

Prémios SAPO 2011

Extensão de prazo de subm...

Candidaturas SAPO Labs

Portuguese Perl Workshop

16 anos

Fun with Dead Languages -...

CPA 2011

arquivos

Janeiro 2012

Dezembro 2011

Outubro 2011

Setembro 2011

Agosto 2011

Julho 2011

Junho 2011

Maio 2011

Abril 2011

Março 2011

Janeiro 2011

Outubro 2010

Setembro 2010

Agosto 2010

Julho 2010

Junho 2010

Maio 2010

Abril 2010

Março 2010

Fevereiro 2010

Janeiro 2010

Dezembro 2009

Novembro 2009

Outubro 2009

Setembro 2009

Agosto 2009

Julho 2009

Junho 2009

Maio 2009

Abril 2009

Março 2009

Fevereiro 2009

tags

todas as tags

últ. comentários
Boas, Apesar deste post já ser um pouco antigo gos...
Por sinal já foi desenvolvido e encontra-se neste ...
A informação que faltava está agora aqui: http://d...
A informação já está aqui: http://developers.blogs...
Boas,Onde é que isto vai ser? Há algum critério pa...
blogs SAPO
subscrever feeds