Para aprender mais sobre a biblioteca urllib do Python, fiz um programa que acessa o site climatempo.com.br e obtém a previsão do tempo para minha cidade através de sua URL: http://www.climatempo.com.br/previsao/cidade/106.
Agora estou tentando melhorar o programa, para que o usuário digite o nome da cidade e seja retornada a previsão do tempo da mesma. Como não há uma forma simples de se obter o código das cidades no site Climatempo, resolvi fazer o programa realizar uma pesquisa no google pelo termo climatempo+previsao+do+tempo+para+nomeDaCidade e por meio de uma expressão regular obter o código.
O problema é que ao fazer a requisição abaixo ao Google, é retornada a seguinte página de erro:
<BR><BR><P>If you believe that you have received this response in error, please <A HREF="http://www.google.com/support/bin/request.py?contact_type=user&hl=en">report</A> your problem. However, please make sure to take a look at our Terms of Service (http://www.google.com/terms_of_service.html). In your email, please send us the <b>entire</b> code displayed below. Please also send us any information you may know about how you are performing your Google searches-- for example, "I'm using the Opera browser on Linux to do searches from home. My Internet access is through a dial-up account I have with the FooCorp ISP." or "I'm using the Konqueror browser on Linux to search from my job at myFoo.com. My machine's IP address is 10.20.30.40, but all of myFoo's web traffic goes through some kind of proxy server whose IP address is 10.11.12.13." (If you don't know any information like this, that's OK. But this kind of information can help us track down problems, so please tell us what you can.)</P><P>We will use all this information to diagnose the problem, and we'll hopefully have you back up and searching with Google again quickly!</P>
<P>Please note that although we read all the email we receive, we are not always able to send a personal response to each and every email. So don't despair if you don't hear back from us!</P>
<P>Also note that if you do not send us the <b>entire</b> code below, <i>we will not be able to help you</i>.</P><P>Best wishes,<BR>The Google Team</BR></P><BLOCKQUOTE>/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/<BR>
Pergunta
Rafael Alencar
Olá pessoal!
Para aprender mais sobre a biblioteca urllib do Python, fiz um programa que acessa o site climatempo.com.br e obtém a previsão do tempo para minha cidade através de sua URL: http://www.climatempo.com.br/previsao/cidade/106.
Agora estou tentando melhorar o programa, para que o usuário digite o nome da cidade e seja retornada a previsão do tempo da mesma. Como não há uma forma simples de se obter o código das cidades no site Climatempo, resolvi fazer o programa realizar uma pesquisa no google pelo termo climatempo+previsao+do+tempo+para+nomeDaCidade e por meio de uma expressão regular obter o código.
O problema é que ao fazer a requisição abaixo ao Google, é retornada a seguinte página de erro:
import urllib
f = urllib.urlopen('http://www.google.com.br/search?q=climatempo+barbacena')
print f.read()
f.close()
<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>403 Forbidden</title><style><!--body {font-family: arial,sans-serif}div.nav {margin-top: 1ex}div.nav A {font-size: 10pt; font-family: arial,sans-serif}span.nav {font-size: 10pt; font-family: arial,sans-serif; font-weight: bold}div.nav A,span.big {font-size: 12pt; color: #0000cc}div.nav A {font-size: 10pt; color: black}A.l:link {color: #6f6f6f}A.u:link {color: green}//--></style><script><!--var rc=403;//--></script></head><body text=#000000 bgcolor=#ffffff><table border=0 cellpadding=2 cellspacing=0 width=100%><tr><td rowspan=3 width=1% nowrap><b><font face=times color=#0039b6 size=10>G</font><font face=times color=#c41200 size=10>o</font><font face=times color=#f3c518 size=10>o</font><font face=times color=#0039b6 size=10>g</font><font face=times color=#30a72f size=10>l</font><font face=times color=#c41200 size=10>e</font> </b><td> </td></tr><tr><td bgcolor="#3366cc"><font face=arial,sans-serif color="#ffffff"><b>Error</b></td></tr><tr><td> </td></tr></table><blockquote><H1>Forbidden</H1>Your client does not have permission to get URL <code>/search?q=climatempo+barbacena</code> from this server. (Client IP address: 201.62.209.253)<br><br>
Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html
<BR><BR><P>If you believe that you have received this response in error, please <A HREF="http://www.google.com/support/bin/request.py?contact_type=user&hl=en">report</A> your problem. However, please make sure to take a look at our Terms of Service (http://www.google.com/terms_of_service.html). In your email, please send us the <b>entire</b> code displayed below. Please also send us any information you may know about how you are performing your Google searches-- for example, "I'm using the Opera browser on Linux to do searches from home. My Internet access is through a dial-up account I have with the FooCorp ISP." or "I'm using the Konqueror browser on Linux to search from my job at myFoo.com. My machine's IP address is 10.20.30.40, but all of myFoo's web traffic goes through some kind of proxy server whose IP address is 10.11.12.13." (If you don't know any information like this, that's OK. But this kind of information can help us track down problems, so please tell us what you can.)</P><P>We will use all this information to diagnose the problem, and we'll hopefully have you back up and searching with Google again quickly!</P>
<P>Please note that although we read all the email we receive, we are not always able to send a personal response to each and every email. So don't despair if you don't hear back from us!</P>
<P>Also note that if you do not send us the <b>entire</b> code below, <i>we will not be able to help you</i>.</P><P>Best wishes,<BR>The Google Team</BR></P><BLOCKQUOTE>/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/<BR>
CUMRRGk8ca2lcEsmbzivtCVkNAqLvI34-BVJjqD5xedrXfQTv<BR>
tol0EZFB-jhMSU-XCCn2mZn7sQYo7WtAGIbcVTsj7H3uWatFa<BR>
4O9Zuxs7I-nXqjy9QmgvFfOXRNkaORCZxkSEoX1xDBq0VGdkk<BR>
CfwlUdG9JqprYBPnpRyhjxjC3c4n68AuEYG3pDJFTKt_ZLQ5W<BR>
-g1l0Gw-e1SBitpdXqF_utTxvWQA3VYm2JYNsPq2ptjQ6LDnG<BR>
Ti0cbXXBYPw4_QH3GNukw4C7-YZ9tmqirGIRGgpQAQyVLMFzt<BR>
BCenS-uGRjouesAtf3igrtiuaVspf7kqanKGwjtpbd1rlG3pe<BR>
LlZyKbi7ANJ8mrh9WgU8xNXFRflRuidEZ-haknb3XFCz6zYCg<BR>
CIW3lEtKxukUwFa6tFd0E7qz0TRsP889Cqe06SbL-MuvT0R1u<BR>
7tK8_J4QiHy3shLEIltmgW9r2gCj8Fuw1x9sVQWoB3Fq_3ajd<BR>
txbaecNUwf-5tilZA62dWCsg_zCEayXsnJ3DxqqlByC5ptdLY<BR>
8Uk89u0_xmXeQqI9TQrQpV3mug0gTyXDKQmOQ-3qeaFlz4imb<BR>
UAou<BR>
+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+<BR></BLOCKQUOTE>
<p></blockquote><table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor="#3366cc"><img alt="" width=1 height=4></td></tr></table></body></html>
O mesmo problema não ocorre com o site do Yahoo,
import urllib
f = urllib.urlopen("http://cade.search.yahoo.com/search?p=climatempo+previsao+do+tempo+para+")
print f.read()
f.close()
mas o mesmo não retorna pesquisas tão precisas quantoas do Google.
Ficarei agradecido se alguém puder me dar alguma idéia.
Obrigado,
Rafael Alencar.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.