<jupyter_start><jupyter_text>Desafio 2 1. Entender a diferença entre os métodos on_status e on_dataVer slide 34.Da mesma forma que fizemos na API REST do Twitter, temos que salvar as chaves de acesso, bem como definir o objeto OAuthHandler para cuidar da autenticação e validação do acesso.<jupyter_code>import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
autorizar = tweepy.OAuthHandler(consumer_key, consumer_secret)
autorizar.set_access_token(access_token, access_token_secret)<jupyter_output><empty_output><jupyter_text>2. Modificar nossa classe para utilizar o método on_dataVer slides 36 até 40.<jupyter_code>class DadosPublicosTwitter(tweepy.StreamListener):
    def on_data(self, dados):
        print(dados)
        return False
dados_twitter = DadosPublicosTwitter()
fluxo = tweepy.Stream(autorizar, dados_twitter)
fluxo.filter(track=['Big Data'])<jupyter_output><empty_output><jupyter_text>Note que os dados que foram retornados estão no formato JSON. Veja o notebook sobre [JSON](aula5-parte3-json.ipynb)  3. Revisar a função embutida open para salvar os arquivosVamos alterar a classe DadosPublicosTwitter para que quando a mesma for instanciada, crie um arquivo chamado ```tweets.json``` e que cada tweet seja adicionado no fim do arquivo. Para isso vamos utilizar o ```mode='a'```.Ver slide 43.<jupyter_code>class DadosPublicosTwitter(tweepy.StreamListener):
    def __init__(self):
        self.salvar_arquivo = open('tweets.json', mode='a')
    
    def on_data(self, dados):
        self.salvar_arquivo.write(dados)
dados_twitter = DadosPublicosTwitter()
fluxo = tweepy.Stream(autorizar, dados_twitter)
try:
    fluxo.filter(track=['Big Data'])
except KeyboardInterrupt:
    print("\n\n **Execução foi encerrada via teclado (Ctrl+C)**")<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09080962800875274, 'fraction_numerical': 0.007658643326039387, 'mean_word_length': 5.87593984962406, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '531473', 'license': 'MIT', 'n_tokens_mistral': 653, 'n_tokens_neox': 633, 'n_words': 166, 'path': 'Python/2016-08-01/aula5-parte3-desafio2.ipynb', 'repo_name': 'rubensfernando/mba-analytics-big-data', 'size': '1828'}