--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
-- Ademir Francisco da Silva Skype ...: Ademir_Francisco_da_Silva

Lembrando se o livro for útil pense rm comprá-lo.
Abs
Bruno
Eu criei um repositório para quem quiser colaborar com o projetinho.
https://github.com/danilovazb/st4wa
Vídeo do uso: https://www.youtube.com/watch?v=sHaehWE6osY
Então, estava em casa sem ter muito o que fazer eu resolvi criar um script em python para enviar notificações de hashtags ou palavras selecionadas por mim no twitter para meu whatsapp em forma de mensagem, algo meio inútil mas serve para você monitorar o que estão falando e implementar isso a outros recursos, ai vai da criatividade e da necessidade de vocês.
Primeiro vamos começar registrando uma conta no whatsapp para usarmos.
Vou usar um tutorial que acho que já postei aqui para vocês, ele fica nesse site: http://hacktracking.blogspot.com.br/2013/02/yowsup-cli-send-whatsapp-messages-from.html
Vamos usar o yowsup para comunicação com o whatsapp.
Primeiro temos que instalar ele caso você não o tenha ou não sabe utilizar.
# apt-get install python python-dateutil python-argparse # wget https://github.com/tgalal/yowsup/archive/master.zip # unzip master.zip # cd yowsup-master/src # cp config.example yowsup-cli.config
As linhas acima irão instalar pacotes necessários do python para utilizar o yowsup, baixa-lo do github, desempacotar ele, entrar na pasta e criar um arquivo de configuração, basicamente é isso.
O arquivo de configuração que iremos criar deve conter as seguintes linhas.
cc=34 #Codigo do pais, no caso BRasil 55 phone=34123456789 #Seu telefone com codigo pais, ddd e telefone id= #Nunca usei o.O password= #Senha gerada pelo whatsapp
Certo, agora vamos registrar um numero no whatsapp para pegar a senha.
Lembrando que o nosso arquivo de configuração já deve estar preenchido, vou postar um aqui como exemplo:
cc=55 phone=5511947458234 id= password=
Agora vamos dar permissão para leitura do yowsup e executa-lo.
# chmod +x yowsup-cli # ./yowsup-cli --requestcode sms --config yowsup-cli.config
Certo, agora é um trabalho de paciência, esperar o código chegar por SMS, por isso, tenha esse número em um chip com um celular, você vai precisar esperar o SMS chegar com o código para ativação.
Assim que der ENTER no comando de requisição do código vai aparecer as mensagens abaixo:
status: sent retry_after: 3605 length: 6 method: sms
Beleza, digamos que já enviei, esperei e chegou o código no meu celular, agora vamos ativar e pegar a senha, digamos que o código que chegou foi 123-456
Agora digitamos:
./yowsup-cli --register 123-456 --config yowsup-cli.configSe o código estiver correto, vai aparecer uma mensagem parecida com a abaixo:
status: ok kind: free pw: S1nBGCvZhb6TBQrbm2sQCfSLkXM= price: 0,89 price_expiration: 1362803446 currency: EUR cost: 0.89 expiration: 1391344106 login: 5511947458234 type: new
Agora vamos destacar o que nos interessa, que é o “pw” e o “login”.
Edite novamente o arquivo de configuração e adicione o conteúdo do “pw” em password ficando igual o abaixo.
cc=55 phone=5511947458234 id= password=S1nBGCvZhb6TBQrbm2sQCfSLkXM=
Salve e feche, faça um teste para ver se está tudo OK, substitua o numero 34111222333 pelo seu numero do whatsapp(de preferencia um que já esteja no seu celular registrado e funcionando), não se esqueça de colocar o código do pais, ddd e o numero.
./yowsup-cli --send 34111222333 "Test message" --wait --config yowsup-cli.configPronto, chegou a mensagem?!?! Agora vamos para a próxima parte.
Vamos instalar o necessário para usar o Tweepy para fazer um stream do twitter e mandar o resultado para o Whatsapp.
Como uso debian e sou preguiçoso em compilar as coisas, fiz da maneira mais fácil:
# apt-get install python-tweepy
Pronto, instalado
Vamos agora ao código, entre na pasta do yowsup, no meu caso:
# cd /home/danilo/yowsup/src/
Dentro desta pasta que iremos criar o script.
Eu vou postar o código abaixo para monitorar e vou tentar explicar o que cada linha faz, pq eu sou péssimo em python, estou prendendo agora, caso eu escreva merda aqui, por favor, me corrijam para que outros não tenham uma informação zuada.
Antes de mais nada, você vai precisar saber como registrar sua aplicação no twitter, eu vou usar o vídeo no qual eu “aprendi” a usar o tweepy para mostrar a vocês como registrar, olhem abaixo:
Bom, após vocês terem entendido como criar sua aplicação no twitter e até mesmo visto como faz o streaming eu vou postar o código aqui que fiz, é bem simples mas bacaninha.
Tentei explicar bem no código, mas qualquer dúvidas, me mandem mensagem.
Ou podem ver aqui >> https://gist.github.com/danilovazb/68eea966faae1f2f2172
#!/usr/bin/env python
# S.T.4.W.A – StreamTwitter4WhatsApp
# Autor: Danilo
# Dt: 13/06/2014
# Import das libs que vamos utilizar
import tweepy
import json
import re
import os
import base64
######################################################
# Configuração da aplicação no dev.twitter.com
consumer_key = ”
consumer_secret = ”
access_token_key = ”
access_token_secret = ”
######################################################
# Import das libs para usar yowsup
from Yowsup.connectionmanager import YowsupConnectionManager
from Examples.EchoClient import WhatsappEchoClient
# Configuração do yowsup para envio
password = “” #Password dada ao registrar o numero pelo yowsup.
password = base64.b64decode(bytes(password.encode(‘utf-8′))) #Codificacao do Password para envio aos servidores do whatsApp.
username = ” #Numero de telefone para o inicio de secao
keepAlive= False #Conexao persistente com o servidor.
######################################################
# Faz a autenticação com a conta no twitter através dos tokens que gerou
auth1 = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth1.set_access_token(access_token_key, access_token_secret)
######################################################
# Cria a classe para fazer o stream do twitter
class StreamListener(tweepy.StreamListener):
# Pega o conteúdo do twitter, já em texto “puro”
def on_status(self, tweet):
print ‘Ran on_status’
# Pega os erros ocorridos
def on_error(self, status_code):
print ‘Error: ‘ + repr(status_code)
return False
# Pega data como vem do twitter em json
def on_data(self, data):
# Aqui eu usei o json para parsear o conteúdo vindo do twitter.
decoded = json.loads(data)
# Abaixo é um print do que quero ver do arquivo em json que vem.
# ———————————————————–
# re.findall(r”#(\w+)”, s) – essa parte do código que pode ser encontrada
# quase no fim do print me faz a separação de todas as hastags que contem no texto
# que vem do twitter, existe no json as hastags, mas não consegui separar, fiz assim.
# a linha “s = decoded['text'].encode(‘ascii’, ‘ignore’)” pega o conteúdo do texto e joga na variavel s
s = decoded['text'].encode(‘ascii’, ‘ignore’)
print decoded['user']['screen_name'],”|”,decoded['user']['location'],”|”,decoded['user']['verified'],”|”,decoded['user']['followers_count'],”|”,decoded['user']['friends_count'],”|”,decoded['user']['favourites_count'],”|”,decoded['user']['statuses_count'],”|”,decoded['user']['created_at'],”|”,decoded['created_at'].encode(‘ascii’,’ignore’),”|”,decoded['user']['lang'],”|”,re.findall(r”#(\w+)”, s),”|”,decoded['text'].encode(‘ascii’, ‘ignore’)
####################################################################################################
# Aqui é o seguinte, eu tinha feito o envio atravez da “API” do yowsup mesmo
# mas achei que ficou lento, para testar, basta tirar os comentários e ajustar
# as configurações lá em cima
#message = decoded['text'].encode(‘ascii’, ‘ignore’)
#wa = WhatsappEchoClient(“5511966577543″, message, keepAlive)
#wa.login(username, password)
####################################################################################################
# Achei mais simples e rápido usar uma chamada na linha de comando com a mensagem.
os.system(“python yowsup-cli -c chip3.config -s 5511966577543 ‘@%s: %s’” % (decoded['user']['screen_name'],decoded['text'].encode(‘ascii’, ‘ignore’)))
l = StreamListener()
streamer = tweepy.Stream(auth=auth1, listener=l)
# Termos, palavras, hashtags utilizadas para a monitoração, são elas que estou monitorando e jogando no whatsapp.
setTerms = ['#OpMundial2014', '#OpHackingCup', 'anonymous','#naovaitercopa','Word Cup']
streamer.filter(track = setTerms)
FONTE:
http://hacktracking.blogspot.com.br/2013/02/yowsup-cli-send-whatsapp-messages-from.html