def twitter_scan(self): if self.arg.twitter: try: tso = TwitterSearchOrder() # create a TwitterSearchOrder object keyword_domain = "\"" + self.Domain + "\"" keyword_ip = "\"" + self.IPaddr + "\"" if self.Domain == "" and self.IPaddr != "": tso.set_keywords([keyword_ip], or_operator=True) keywords_desc = "IP address" elif self.Domain != "" and self.IPaddr == "": tso.set_keywords([keyword_domain], or_operator=True) keywords_desc = "domain name" else: tso.set_keywords([keyword_domain, keyword_ip], or_operator=True) keywords_desc = "IP address or domain name" printh("Querying Twitter for tweets mentioning %s..." % keywords_desc) # tso.set_language('en') tso.set_include_entities(False) tso.remove_all_filters() ts = TwitterSearch( consumer_key=self.settings['TwitterConsumerKey'], consumer_secret=self.settings['TwitterConsumerSecret'], access_token=self.settings['TwitterAccessToken'], access_token_secret=self.settings['TwitterAccessTokenSecret'] ) i = 0 for tweet in ts.search_tweets_iterable(tso): if i < 100: printl("[%s%s%s] %s@%s%s%s%s:" % (c.Y, tweet['created_at'], c.END, c.G, c.END, c.BOLD, tweet['user']['screen_name'], c.END )) printl("%s" % (tweet['text'].encode('utf8').replace("\n", "%s/%s " % (c.R, c.END)))) try: printl("\t%s=> Expanded URL:%s %s" % ( c.G, c.END, tweet['user']['entities']['url']['urls'][0]['expanded_url'].encode('utf8') .replace(self.Domain, c.R + self.Domain + c.END).replace(self.IPaddr, c.R + self.Domain + c.END))) except KeyError: () except AttributeError: () except IndexError: () # Do nothing. i += 1 else: print(("Showing %s/100 results." % ts.get_amount_of_tweets())) break if i == 0: print("No tweets found.") except TwitterSearchException as e: print(e)
printl("[%s%s%s] %s@%s%s%s%s:" % (c.Y, tweet['created_at'], c.END, c.G, c.END, c.BOLD, tweet['user']['screen_name'].encode('utf8'), c.END )) printl("%s" % (tweet['text'].encode('utf8').replace("\n", "%s/%s " % (c.R, c.END)))) try: printl("\t%s=> Expanded URL:%s %s" % (c.G, c.END, tweet['user']['entities']['url']['urls'][0]['expanded_url'].encode('utf8') .replace(Domain, c.R + Domain + c.END).replace(IPaddr, c.R + Domain + c.END))) except KeyError: () except AttributeError: () except IndexError: () # Do nothing. i += 1 else: printp(("Showing %s/100 results." % ts.get_amount_of_tweets())) break if i == 0: printp("No tweets found.") except TwitterSearchException as e: printe(e) if arg.pause: pause() else: notRun.append("Twitter") # PING if arg.ping and IPaddr != "": run.append("Ping") printh("Pinging %s, skip with CTRL-C..." % IPaddr) try:
printl("[%s%s%s] %s@%s%s%s%s:" % (c.Y, tweet['created_at'], c.END, c.G, c.END, c.BOLD, tweet['user']['screen_name'], c.END )) printl("%s" % (tweet['text'].encode('utf-8').replace("\n", "%s/%s " % (c.R, c.END)))) try: printl("\t%s=> Expanded URL:%s %s" % (c.G, c.END, tweet['user']['entities']['url']['urls'][0]['expanded_url'] .replace(Domain, c.R + Domain + c.END).replace(IPaddr, c.R + Domain + c.END))) except KeyError: () except AttributeError: () except IndexError: () # Do nothing. i += 1 else: printp(("Showing %s/100 results." % ts.get_amount_of_tweets())) break if i == 0: printp("No tweets found.") except TwitterSearchException as e: printe(e) if arg.pause: pause() else: notRun.append("Twitter") # PING if arg.ping and IPaddr != "": run.append("Ping") printh("Pinging %s, skip with CTRL-C..." % IPaddr) try: