Ejemplo n.º 1
0
  def search_and_save_users(self):
    language = 'en'
    #use the lines below if you want to target another language besides english
    language = raw_input("Which language do you want to target 'es'espanish, 'en'english: ")
    language = language.lower()

    query = raw_input("Which words do you want to search? ")

    max_tweets = int(input("How many tweets do you want to retrieve? "))
    tweets = self.tw.search_tweets(query, language, max_tweets)

    list_user=[]
    list_hashtag=[]
    list_tweets =[]
    print('users found saved to the database: ')
    for elem in tweets:
      list_user.append({'user_id': elem.user.id, 'screen_name': elem.user.screen_name, 'description': elem.user.description})
      list_hashtag.append({'user_of_hashtag': elem.user.id, 'hashtag_text': query})
      list_tweets.append({'user_tweets': elem.user.id, 'tweet_message': elem.text, 'created_date': elem.created_at})

    for itemr, itemh, itemt in zip(list_user, list_hashtag, list_tweets):
      try:
        #The following is the same as the short version Recruited.create(**itemr)
        #a= Recruited.create(user_id = itemr['user_id'],screen_name = itemr['screen_name'],description=itemr['description'])
        a = Recruited.create(**itemr)
        b = Hashtag.create(**itemh)
        c = Tweets.create(**itemt)
        a.save()
        b.save()
        c.save()
      except IntegrityError:
        pass

    return list_user
Ejemplo n.º 2
0
    def search_and_save_users(self):
        language = 'en'
        #use the lines below if you want to target another language besides english
        #language = input("Which language do you want to target 'es'espanish, 'en'english: ")
        #language = language.lower()

        query = input("Which words do you want to search ?")

        max_tweets = int(input("How many tweets do you want to retrieve? "))
        searched_tweets = [
            status for status in tweepy.Cursor(
                twitter.api.search, q=query, lang=language).items(max_tweets)
        ]

        list_user = []
        list_hashtag = []
        list_tweets = []
        print('users found saved to the database: ')
        for elem in searched_tweets:
            #print(elem.user.screen_name)
            #print(elem.user.id)
            #print(elem.user.description)
            #print(elem.text)
            #print(elem.created_at)
            #print(query)
            list_user.append({
                'user_id': elem.user.id,
                'screen_name': elem.user.screen_name,
                'description': elem.user.description
            })
            list_hashtag.append({
                'user_of_hashtag': elem.user.id,
                'hashtag_text': query
            })
            list_tweets.append({
                'user_tweets': elem.user.id,
                'tweet_message': elem.text,
                'created_date': elem.created_at
            })
            print(elem.user.id)

        for itemr, itemh, itemt in zip(list_user, list_hashtag, list_tweets):
            try:

                #The following is the same as the short version Recruited.create(**itemr)
                #a= Recruited.create(user_id = itemr['user_id'],screen_name = itemr['screen_name'],description=itemr['description'])
                a = Recruited.create(**itemr)
                b = Hashtag.create(**itemh)
                c = Tweets.create(**itemt)
                a.save()
                b.save()
                c.save()
            except IntegrityError:
                pass

        return list_user