Exemple #1
0
    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)
Exemple #2
0
                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:
Exemple #3
0
                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: