diff --git a/snscrape/modules/twitter.py b/snscrape/modules/twitter.py index 743e2e5..73ce4c5 100644 --- a/snscrape/modules/twitter.py +++ b/snscrape/modules/twitter.py @@ -7,6 +7,7 @@ __all__ = [ 'TwitterUserScraper', 'TwitterProfileScraper', 'TwitterHashtagScraper', + 'TwitterCashtagScraper', 'TwitterTweetScraperMode', 'TwitterTweetScraper', 'TwitterListPostsScraper', @@ -1837,6 +1838,22 @@ class TwitterHashtagScraper(TwitterSearchScraper): return cls._cli_construct(args, args.hashtag) +class TwitterCashtagScraper(TwitterSearchScraper): + name = 'twitter-cashtag' + + def __init__(self, cashtag, **kwargs): + super().__init__(f'${cashtag}', **kwargs) + self._cashtag = cashtag + + @classmethod + def _cli_setup_parser(cls, subparser): + subparser.add_argument('cashtag', type = snscrape.base.nonempty_string('cashtag'), help = 'A Twitter cashtag (without $)') + + @classmethod + def _cli_from_args(cls, args): + return cls._cli_construct(args, args.cashtag) + + class TwitterTweetScraperMode(enum.Enum): SINGLE = 'single' SCROLL = 'scroll'