From 13a87d5ecb8cef95e85015e009311c9be9f0851b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 6 Aug 2020 22:43:53 +0200 Subject: [PATCH] Initial commit --- src/newsreader/news/collection/choices.py | 1 + .../news/collection/tests/twitter/__init__.py | 0 .../tests/twitter/builder/__init__.py | 0 .../collection/tests/twitter/builder/mocks.py | 3546 +++++++++++++++++ .../collection/tests/twitter/builder/tests.py | 0 .../tests/twitter/client/__init__.py | 0 .../collection/tests/twitter/client/mocks.py | 0 .../collection/tests/twitter/client/tests.py | 0 .../tests/twitter/collector/__init__.py | 0 .../tests/twitter/collector/mocks.py | 0 .../tests/twitter/collector/tests.py | 0 .../tests/twitter/stream/__init__.py | 0 .../collection/tests/twitter/stream/mocks.py | 0 .../collection/tests/twitter/stream/tests.py | 0 src/newsreader/news/collection/twitter.py | 32 + 15 files changed, 3579 insertions(+) create mode 100644 src/newsreader/news/collection/tests/twitter/__init__.py create mode 100644 src/newsreader/news/collection/tests/twitter/builder/__init__.py create mode 100644 src/newsreader/news/collection/tests/twitter/builder/mocks.py create mode 100644 src/newsreader/news/collection/tests/twitter/builder/tests.py create mode 100644 src/newsreader/news/collection/tests/twitter/client/__init__.py create mode 100644 src/newsreader/news/collection/tests/twitter/client/mocks.py create mode 100644 src/newsreader/news/collection/tests/twitter/client/tests.py create mode 100644 src/newsreader/news/collection/tests/twitter/collector/__init__.py create mode 100644 src/newsreader/news/collection/tests/twitter/collector/mocks.py create mode 100644 src/newsreader/news/collection/tests/twitter/collector/tests.py create mode 100644 src/newsreader/news/collection/tests/twitter/stream/__init__.py create mode 100644 src/newsreader/news/collection/tests/twitter/stream/mocks.py create mode 100644 src/newsreader/news/collection/tests/twitter/stream/tests.py create mode 100644 src/newsreader/news/collection/twitter.py diff --git a/src/newsreader/news/collection/choices.py b/src/newsreader/news/collection/choices.py index 65f7ef5..47e304e 100644 --- a/src/newsreader/news/collection/choices.py +++ b/src/newsreader/news/collection/choices.py @@ -5,3 +5,4 @@ from django.utils.translation import gettext as _ class RuleTypeChoices(TextChoices): feed = "feed", _("Feed") subreddit = "subreddit", _("Subreddit") + twitter = "twitter", _("Twitter") diff --git a/src/newsreader/news/collection/tests/twitter/__init__.py b/src/newsreader/news/collection/tests/twitter/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/builder/__init__.py b/src/newsreader/news/collection/tests/twitter/builder/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/builder/mocks.py b/src/newsreader/news/collection/tests/twitter/builder/mocks.py new file mode 100644 index 0000000..22a2d94 --- /dev/null +++ b/src/newsreader/news/collection/tests/twitter/builder/mocks.py @@ -0,0 +1,3546 @@ +# retrieved with: +# curl -X GET -H "Authorization: Bearer " "https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterapi" | python3 -m json.tool --sort-keys + +example_mock = [ + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Apr 29 17:03:24 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1255543219087044608, + "id_str": "1255543219087044608", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 329, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Apr 29 17:01:38 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1255542774432063488", + "indices": [121, 144], + "url": "https://t.co/X5ZVcb6m1j", + } + ], + "user_mentions": [], + }, + "favorite_count": 752, + "favorited": False, + "geo": None, + "id": 1255542774432063488, + "id_str": "1255542774432063488", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 329, + "retweeted": False, + "source": 'Twitter Web App', + "text": "During these unprecedented times, what’s happening on Twitter can help the world better understand & respond to the… https://t.co/X5ZVcb6m1j", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: During these unprecedented times, what’s happening on Twitter can help the world better understand & respond to the pandemi…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Mon Mar 23 22:14:35 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1242213180060758016, + "id_str": "1242213180060758016", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 46, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Mon Mar 23 22:01:13 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1242209814706438144", + "indices": [116, 139], + "url": "https://t.co/Oo1t07UH4Z", + } + ], + "user_mentions": [], + }, + "favorite_count": 171, + "favorited": False, + "geo": None, + "id": 1242209814706438144, + "id_str": "1242209814706438144", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 46, + "retweeted": False, + "source": 'Twitter Web App', + "text": "As we work to keep our employees safe during COVID-19, you are likely to experience longer than usual review times… https://t.co/Oo1t07UH4Z", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: As we work to keep our employees safe during COVID-19, you are likely to experience longer than usual review times for deve…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Mon Mar 23 16:28:09 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1242125997081673728, + "id_str": "1242125997081673728", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": True, + "lang": "en", + "place": None, + "quoted_status_id": 1204497856679202816, + "quoted_status_id_str": "1204497856679202816", + "retweet_count": 41, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Mon Mar 23 16:26:08 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1242125486844604425", + "indices": [117, 140], + "url": "https://t.co/ViHyvQ4Y8S", + } + ], + "user_mentions": [], + }, + "favorite_count": 120, + "favorited": False, + "geo": None, + "id": 1242125486844604425, + "id_str": "1242125486844604425", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": True, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "quoted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Dec 10 20:27:22 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1204497856679202816", + "indices": [117, 140], + "url": "https://t.co/ZlJUjmHIBe", + } + ], + "user_mentions": [], + }, + "favorite_count": 255, + "favorited": False, + "geo": None, + "id": 1204497856679202816, + "id_str": "1204497856679202816", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 95, + "retweeted": False, + "source": 'Twitter Web App', + "text": "You may have seen the recent announcement about following Topics on Twitter. Today, we’re excited to provide API su… https://t.co/ZlJUjmHIBe", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "quoted_status_id": 1204497856679202816, + "quoted_status_id_str": "1204497856679202816", + "retweet_count": 41, + "retweeted": False, + "source": 'Twitter Web App', + "text": "A few months ago, we added Tweet annotations to the Labs’ streaming endpoints. These annotations help uncover detai… https://t.co/ViHyvQ4Y8S", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: A few months ago, we added Tweet annotations to the Labs’ streaming endpoints. These annotations help uncover details about…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Tue Mar 10 17:57:58 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1237437557337513984, + "id_str": "1237437557337513984", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 27, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Mar 10 17:47:53 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1237435017883762689", + "indices": [117, 140], + "url": "https://t.co/NpF4h9DaSq", + } + ], + "user_mentions": [], + }, + "favorite_count": 97, + "favorited": False, + "geo": None, + "id": 1237435017883762689, + "id_str": "1237435017883762689", + "in_reply_to_screen_name": "TwitterDev", + "in_reply_to_status_id": 1237435016134656006, + "in_reply_to_status_id_str": "1237435016134656006", + "in_reply_to_user_id": 2244994945, + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 27, + "retweeted": False, + "source": 'Twitter Web App', + "text": "We ❤️ the incredible research people do using Twitter data to study topics like spam, abuse, and other areas relate… https://t.co/NpF4h9DaSq", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: We ❤️ the incredible research people do using Twitter data to study topics like spam, abuse, and other areas related to the…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Feb 26 17:33:41 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1232720402700521474, + "id_str": "1232720402700521474", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 148, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Feb 26 17:32:51 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1232720193182412800", + "indices": [117, 140], + "url": "https://t.co/aN8kan0Lsw", + } + ], + "user_mentions": [], + }, + "favorite_count": 386, + "favorited": False, + "geo": None, + "id": 1232720193182412800, + "id_str": "1232720193182412800", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 148, + "retweeted": False, + "source": 'Twitter Web App', + "text": "In November, we gave people the ability to hide replies to their Tweets. Starting today, we’re opening this feature… https://t.co/aN8kan0Lsw", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: In November, we gave people the ability to hide replies to their Tweets. Starting today, we’re opening this feature up to d…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Mon Jan 06 20:23:49 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1214281438092238855, + "id_str": "1214281438092238855", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 59, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Mon Jan 06 20:22:05 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1214281000932593667", + "indices": [117, 140], + "url": "https://t.co/XaqD1JJ5kF", + } + ], + "user_mentions": [], + }, + "favorite_count": 166, + "favorited": False, + "geo": None, + "id": 1214281000932593667, + "id_str": "1214281000932593667", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 59, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Hello… is it me you’re searching for? 🔎\n\nSearch the conversation as it unfolds with this new addition to Labs. We'r… https://t.co/XaqD1JJ5kF", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: Hello… is it me you’re searching for? 🔎\n\nSearch the conversation as it unfolds with this new addition to Labs. We're making…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Fri Jan 03 17:21:34 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1213148410145992704, + "id_str": "1213148410145992704", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 218, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Fri Jan 03 17:17:23 +0000 2020", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1213147357551816704", + "indices": [117, 140], + "url": "https://t.co/WhV7rP54GM", + } + ], + "user_mentions": [], + }, + "favorite_count": 450, + "favorited": False, + "geo": None, + "id": 1213147357551816704, + "id_str": "1213147357551816704", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 218, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Today, we’re sharing a few small improvements to make it easier for academic researchers to get started with the Tw… https://t.co/WhV7rP54GM", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: Today, we’re sharing a few small improvements to make it easier for academic researchers to get started with the Twitter AP…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Tue Dec 10 20:34:57 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1204499768459661312, + "id_str": "1204499768459661312", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 95, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Dec 10 20:27:22 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1204497856679202816", + "indices": [117, 140], + "url": "https://t.co/ZlJUjmHIBe", + } + ], + "user_mentions": [], + }, + "favorite_count": 255, + "favorited": False, + "geo": None, + "id": 1204497856679202816, + "id_str": "1204497856679202816", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 95, + "retweeted": False, + "source": 'Twitter Web App', + "text": "You may have seen the recent announcement about following Topics on Twitter. Today, we’re excited to provide API su… https://t.co/ZlJUjmHIBe", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: You may have seen the recent announcement about following Topics on Twitter. Today, we’re excited to provide API support fo…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Tue Oct 29 19:39:40 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1189265562821640193, + "id_str": "1189265562821640193", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 46, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Oct 29 19:37:15 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1189264953368338432", + "indices": [110, 133], + "url": "https://t.co/Y5QMh8rNoh", + } + ], + "user_mentions": [], + }, + "favorite_count": 145, + "favorited": False, + "geo": None, + "id": 1189264953368338432, + "id_str": "1189264953368338432", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 46, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Study a sample of timely, relevant Tweets as they happen, with the newest release in Twitter Developer Labs.… https://t.co/Y5QMh8rNoh", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: Study a sample of timely, relevant Tweets as they happen, with the newest release in Twitter Developer Labs. https://t.co/m…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Sep 18 16:41:39 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1174362863118372867, + "id_str": "1174362863118372867", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 106, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Sep 18 16:36:10 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1174361480734466048", + "indices": [117, 140], + "url": "https://t.co/RElmBW5XxM", + } + ], + "user_mentions": [], + }, + "favorite_count": 234, + "favorited": False, + "geo": None, + "id": 1174361480734466048, + "id_str": "1174361480734466048", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 106, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Today in Twitter Developer Labs we’re releasing a new way to filter Tweets in real-time. This is one of the most po… https://t.co/RElmBW5XxM", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: Today in Twitter Developer Labs we’re releasing a new way to filter Tweets in real-time. This is one of the most popular fe…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Tue Aug 27 17:30:39 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1166402661282746368, + "id_str": "1166402661282746368", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 59, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Aug 27 17:25:06 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1166401263170281472", + "indices": [117, 140], + "url": "https://t.co/a8PaA1wg5A", + } + ], + "user_mentions": [], + }, + "favorite_count": 174, + "favorited": False, + "geo": None, + "id": 1166401263170281472, + "id_str": "1166401263170281472", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 59, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Our latest Twitter Developer Labs release helps you quickly assess the impact of your Tweets. Today, we’re releasin… https://t.co/a8PaA1wg5A", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: Our latest Twitter Developer Labs release helps you quickly assess the impact of your Tweets. Today, we’re releasing \n\n✨a n…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Fri Aug 16 17:25:53 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1162415194749882368, + "id_str": "1162415194749882368", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 31, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Fri Aug 16 17:07:22 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1162410535121387525", + "indices": [117, 140], + "url": "https://t.co/VemT1Licd9", + } + ], + "user_mentions": [], + }, + "favorite_count": 102, + "favorited": False, + "geo": None, + "id": 1162410535121387525, + "id_str": "1162410535121387525", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 31, + "retweeted": False, + "source": 'Twitter Web App', + "text": "As of today, we’re simplifying permissions for third-party apps. Most developers won't be impacted, but if your app… https://t.co/VemT1Licd9", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter for iPhone', + "text": "RT @TwitterDev: As of today, we’re simplifying permissions for third-party apps. Most developers won't be impacted, but if your app uses th…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Thu Aug 15 16:24:23 +0000 2019", + "entities": { + "hashtags": [{"indices": [16, 26], "text": "iterating"}], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1162037328442875904, + "id_str": "1162037328442875904", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 26, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Thu Aug 15 16:20:05 +0000 2019", + "entities": { + "hashtags": [{"indices": [0, 10], "text": "iterating"}], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1162036247314833408", + "indices": [117, 140], + "url": "https://t.co/rRlVHaBTs2", + } + ], + "user_mentions": [], + }, + "favorite_count": 102, + "favorited": False, + "geo": None, + "id": 1162036247314833408, + "id_str": "1162036247314833408", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 26, + "retweeted": False, + "source": 'Twitter Web App', + "text": "#iterating: We recently released a long-requested feature in Twitter Developer Labs: \n\n📌Developer’s can now request… https://t.co/rRlVHaBTs2", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: #iterating: We recently released a long-requested feature in Twitter Developer Labs: \n\n📌Developer’s can now request a user’…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jul 31 19:23:15 +0000 2019", + "entities": { + "hashtags": [{"indices": [16, 26], "text": "iterating"}], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1156646525121916928, + "id_str": "1156646525121916928", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 41, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jul 31 19:20:25 +0000 2019", + "entities": { + "hashtags": [{"indices": [0, 10], "text": "iterating"}], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1156645810156650496", + "indices": [117, 140], + "url": "https://t.co/VVp7rv6FIM", + } + ], + "user_mentions": [], + }, + "favorite_count": 111, + "favorited": False, + "geo": None, + "id": 1156645810156650496, + "id_str": "1156645810156650496", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 41, + "retweeted": False, + "source": 'Twitter Web App', + "text": "#iterating: Today we are releasing an update to Twitter Developer Labs, with a few new features we think you’ll fin… https://t.co/VVp7rv6FIM", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'Twitter Web App', + "text": "RT @TwitterDev: #iterating: Today we are releasing an update to Twitter Developer Labs, with a few new features we think you’ll find useful…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jul 24 15:56:09 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1154057692723519494", + "indices": [117, 140], + "url": "https://t.co/8YgCwYoE3q", + } + ], + "user_mentions": [], + }, + "favorite_count": 128, + "favorited": False, + "geo": None, + "id": 1154057692723519494, + "id_str": "1154057692723519494", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": True, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "quoted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Tue Jun 11 22:13:27 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1138569964032385025", + "indices": [117, 140], + "url": "https://t.co/qMtoumuG1e", + } + ], + "user_mentions": [], + }, + "favorite_count": 121, + "favorited": False, + "geo": None, + "id": 1138569964032385025, + "id_str": "1138569964032385025", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 91, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "Starting July 15, 2019, all connections to the Twitter API (and all other Twitter domains) will require TLS 1.2. Re… https://t.co/qMtoumuG1e", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + "quoted_status_id": 1138569964032385025, + "quoted_status_id_str": "1138569964032385025", + "retweet_count": 108, + "retweeted": False, + "source": 'Twitter Web App', + "text": "TLS 1.2 reminder: this change will be enacted as of tomorrow, July 25, 2019. Please reference our developer forum p… https://t.co/8YgCwYoE3q", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jul 17 15:54:45 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [ + { + "id": 2244994945, + "id_str": "2244994945", + "indices": [3, 14], + "name": "Twitter Dev", + "screen_name": "TwitterDev", + } + ], + }, + "favorite_count": 0, + "favorited": False, + "geo": None, + "id": 1151520624315174912, + "id_str": "1151520624315174912", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 421, + "retweeted": False, + "retweeted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jul 17 15:53:43 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1151520361529430016", + "indices": [117, 140], + "url": "https://t.co/dG3PmGWAJ4", + } + ], + "user_mentions": [], + }, + "favorite_count": 675, + "favorited": False, + "geo": None, + "id": 1151520361529430016, + "id_str": "1151520361529430016", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "retweet_count": 421, + "retweeted": False, + "source": 'Twitter Web App', + "text": "Academic research is some of the most impactful work that happens with the Twitter API. As we plan for the future o… https://t.co/dG3PmGWAJ4", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "source": 'TweetDeck', + "text": "RT @TwitterDev: Academic research is some of the most impactful work that happens with the Twitter API. As we plan for the future of our de…", + "truncated": False, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Mon Jun 24 17:50:46 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1143214899109277697", + "indices": [117, 140], + "url": "https://t.co/w8WoepBjeU", + } + ], + "user_mentions": [], + }, + "favorite_count": 85, + "favorited": False, + "geo": None, + "id": 1143214899109277697, + "id_str": "1143214899109277697", + "in_reply_to_screen_name": "TwitterAPI", + "in_reply_to_status_id": 1141392777600806912, + "in_reply_to_status_id_str": "1141392777600806912", + "in_reply_to_user_id": 6253282, + "in_reply_to_user_id_str": "6253282", + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 44, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "We’ve spoken with all developers who’ve contacted us to discuss these new rate limits and elevations, and as of tod… https://t.co/w8WoepBjeU", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jun 19 17:10:18 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1141392777600806912", + "indices": [117, 140], + "url": "https://t.co/ymDvv7r8lB", + } + ], + "user_mentions": [], + }, + "favorite_count": 90, + "favorited": False, + "geo": None, + "id": 1141392777600806912, + "id_str": "1141392777600806912", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": True, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "quoted_status": { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jun 19 17:02:25 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1141390793657266176", + "indices": [117, 140], + "url": "https://t.co/kFzCKybdkD", + } + ], + "user_mentions": [], + }, + "favorite_count": 46, + "favorited": False, + "geo": None, + "id": 1141390793657266176, + "id_str": "1141390793657266176", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": True, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "quoted_status_id": 1108050885639168000, + "quoted_status_id_str": "1108050885639168000", + "retweet_count": 19, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "❗️Today, user and mentions timeline request limits go into effect. If you want to learn more about this change, tak… https://t.co/kFzCKybdkD", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": False, + "default_profile_image": False, + "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com/en/community", + "expanded_url": "https://developer.twitter.com/en/community", + "indices": [0, 23], + "url": "https://t.co/3ZX3TNiZCY", + } + ] + }, + }, + "favourites_count": 2165, + "follow_request_sent": None, + "followers_count": 509354, + "following": None, + "friends_count": 2000, + "geo_enabled": True, + "has_extended_profile": True, + "id": 2244994945, + "id_str": "2244994945", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 1589, + "location": "127.0.0.1", + "name": "Twitter Dev", + "notifications": None, + "profile_background_color": "FFFFFF", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": False, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1594913664", + "profile_image_url": "http://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "FFFFFF", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": False, + "protected": False, + "screen_name": "TwitterDev", + "statuses_count": 3576, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/3ZX3TNiZCY", + "utc_offset": None, + "verified": True, + }, + }, + "quoted_status_id": 1141390793657266176, + "quoted_status_id_str": "1141390793657266176", + "retweet_count": 70, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "Request limit change: today, we're implementing a change to two commonly used Twitter standard API endpoints - user… https://t.co/ymDvv7r8lB", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Wed Jun 12 17:36:26 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1138862637394137093", + "indices": [116, 139], + "url": "https://t.co/JAUtpAZotb", + } + ], + "user_mentions": [], + }, + "favorite_count": 62, + "favorited": False, + "geo": None, + "id": 1138862637394137093, + "id_str": "1138862637394137093", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 40, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "Reminder: only 1⃣ week until the rate limit change to user and mentions timeline endpoints will go into effect. If… https://t.co/JAUtpAZotb", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, + { + "contributors": None, + "coordinates": None, + "created_at": "Tue Jun 11 22:13:27 +0000 2019", + "entities": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "twitter.com/i/web/status/1…", + "expanded_url": "https://twitter.com/i/web/status/1138569964032385025", + "indices": [117, 140], + "url": "https://t.co/qMtoumuG1e", + } + ], + "user_mentions": [], + }, + "favorite_count": 121, + "favorited": False, + "geo": None, + "id": 1138569964032385025, + "id_str": "1138569964032385025", + "in_reply_to_screen_name": None, + "in_reply_to_status_id": None, + "in_reply_to_status_id_str": None, + "in_reply_to_user_id": None, + "in_reply_to_user_id_str": None, + "is_quote_status": False, + "lang": "en", + "place": None, + "possibly_sensitive": False, + "retweet_count": 91, + "retweeted": False, + "source": 'Twitter Web Client', + "text": "Starting July 15, 2019, all connections to the Twitter API (and all other Twitter domains) will require TLS 1.2. Re… https://t.co/qMtoumuG1e", + "truncated": True, + "user": { + "contributors_enabled": False, + "created_at": "Wed May 23 06:01:13 +0000 2007", + "default_profile": False, + "default_profile_image": False, + "description": "Tweets about changes and service issues. Follow @TwitterDev for more.", + "entities": { + "description": {"urls": []}, + "url": { + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com", + "indices": [0, 23], + "url": "https://t.co/8IkCzCDr19", + } + ] + }, + }, + "favourites_count": 3, + "follow_request_sent": None, + "followers_count": 6052538, + "following": None, + "friends_count": 32, + "geo_enabled": False, + "has_extended_profile": True, + "id": 6253282, + "id_str": "6253282", + "is_translation_enabled": False, + "is_translator": False, + "lang": None, + "listed_count": 12307, + "location": "", + "name": "Twitter API", + "notifications": None, + "profile_background_color": "C0DEED", + "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", + "profile_background_tile": True, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515", + "profile_image_url": "http://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg", + "profile_link_color": "0084B4", + "profile_sidebar_border_color": "C0DEED", + "profile_sidebar_fill_color": "DDEEF6", + "profile_text_color": "333333", + "profile_use_background_image": True, + "protected": False, + "screen_name": "TwitterAPI", + "statuses_count": 3679, + "time_zone": None, + "translator_type": "regular", + "url": "https://t.co/8IkCzCDr19", + "utc_offset": None, + "verified": True, + }, + }, +] diff --git a/src/newsreader/news/collection/tests/twitter/builder/tests.py b/src/newsreader/news/collection/tests/twitter/builder/tests.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/client/__init__.py b/src/newsreader/news/collection/tests/twitter/client/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/client/mocks.py b/src/newsreader/news/collection/tests/twitter/client/mocks.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/client/tests.py b/src/newsreader/news/collection/tests/twitter/client/tests.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/collector/__init__.py b/src/newsreader/news/collection/tests/twitter/collector/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/collector/mocks.py b/src/newsreader/news/collection/tests/twitter/collector/mocks.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/collector/tests.py b/src/newsreader/news/collection/tests/twitter/collector/tests.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/stream/__init__.py b/src/newsreader/news/collection/tests/twitter/stream/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/stream/mocks.py b/src/newsreader/news/collection/tests/twitter/stream/mocks.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/tests/twitter/stream/tests.py b/src/newsreader/news/collection/tests/twitter/stream/tests.py new file mode 100644 index 0000000..e69de29 diff --git a/src/newsreader/news/collection/twitter.py b/src/newsreader/news/collection/twitter.py new file mode 100644 index 0000000..15a2ccd --- /dev/null +++ b/src/newsreader/news/collection/twitter.py @@ -0,0 +1,32 @@ +from newsreader.news.collection.base import Builder, Client, Collector, Stream + + +class TwitterScheduler: + pass + + +class TwitterBuilder(Builder): + def __enter__(self): + _, stream = self.stream + + self.instances = [] + self.existing_posts = { + post.remote_identifier: post + for post in Post.objects.filter( + rule=stream.rule, rule__type=RuleTypeChoices.twitter + ) + } + + return super().__enter__() + + +class TwitterStream(Stream): + pass + + +class TwitterClient(Client): + pass + + +class TwitterCollector(Collector): + pass