Previsão do Tempo

Publicado por Fábio Berbert de Paula (última atualização em 28/11/2018)

[ Hits: 799 ]

Homepage: https://fabio.city

Download previsao.py




Simples script em Python que puxa os dados da previsão do tempo do mecanismo de busca Google.

Utiliza a biblioteca requests-html:

$ pip install requests-html

Script modular, basta copiar a função previsao() para sua aplicação e usá-la a bel prazer.

Forma de uso

Se você invocá-lo sem argumentos, ele retornará a previsão do tempo de sua localidade atual:

$ python previsao.py

É possível informar a região desejada, exemplo:

$ python previsao.py rio de janeiro

Maiores informações em: https://github.com/fberbert/previsao-do-tempo

  



Esconder código-fonte

#!/usr/bin/env python3
"""
Autor: Fábio Berbert de Paula <fberbert@gmail.com>
Data : 27/11/2018
"""

def previsao(local=''):
    #pip install requests-html
    from requests_html import HTMLSession
    import re

    session = HTMLSession()

    url = 'https://www.google.com.br/search?q=previsao+do+tempo&oq=previsao+do+tempo&ie=UTF-8'
    if local != '':
        local = local.replace(' ', '+')
        url = url.replace('tempo', 'tempo+' + local)

    #URL resultado da busca no Google por: previsao do tempo
    r = session.get(url)

    #abaixo defino os seletores CSS de cada elemento da pagina
    #e armazeno nas devidas variaveis
    selector_city = '#wob_loc'
    city = r.html.find(selector_city, first=True).text

    selector_date = '#wob_dts'
    date = r.html.find(selector_date, first=True).text

    selector_state = '#wob_dc'
    state = r.html.find(selector_state, first=True).text

    selector_temp = '#wob_tm'
    temp = r.html.find(selector_temp, first=True).text

    #regex para limpar informacoes irrelevantes
    regex = re.compile(r'\nTemperatura.*$', re.DOTALL)
    selector_dtl = 'div.wob-dtl'
    dtl = r.html.find(selector_dtl, first=True).text
    dtl = regex.sub("", dtl)

    return("%s\n%s\t%s°C (%s)\n\n%s" %(city, date, temp, state, dtl))

#leitura da localidade (parâmetro via linha de comando)
import sys

local=''
if len(sys.argv)>0:
    sys.argv.pop(0)
    local = ' '.join(sys.argv)

print(previsao(local))

Scripts recomendados

Horóscopo do Dia

Downloader Gráfico - Python 3

Enviando emails com autenticação smtp python cgi

Tradutor on-line versão Web!!!

newMyIP


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts