add verified_followers endpoint #121; add subscriptions endpoint

Этот коммит содержится в:
Vlad Pronsky 2024-02-10 23:00:59 +02:00
родитель 6114ebed39
Коммит cd04ed97e5
20 изменённых файлов: 20594 добавлений и 17955 удалений

Просмотреть файл

@ -59,8 +59,10 @@ update-mocks:
@rm -rf ./tests/mocked-data/raw_*.json
twscrape user_by_id --raw 2244994945 | jq > ./tests/mocked-data/raw_user_by_id.json
twscrape user_by_login --raw xdevelopers | jq > ./tests/mocked-data/raw_user_by_login.json
twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_followers.json
twscrape following --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_following.json
twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_followers.json
twscrape verified_followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_verified_followers.json
twscrape subscriptions --raw --limit 10 44196397 | jq > ./tests/mocked-data/raw_subscriptions.json
twscrape tweet_details --raw 1649191520250245121 | jq > ./tests/mocked-data/raw_tweet_details.json
twscrape tweet_replies --limit 1 --raw 1649191520250245121 | jq > ./tests/mocked-data/raw_tweet_replies.json
twscrape retweeters --raw --limit 10 1649191520250245121 | jq > ./tests/mocked-data/raw_retweeters.json

Просмотреть файл

@ -108,9 +108,9 @@
}
},
"fast_followers_count": 0,
"favourites_count": 6001,
"favourites_count": 6013,
"followers_count": 898,
"friends_count": 2634,
"friends_count": 2636,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 2,
@ -182,7 +182,7 @@
},
"fast_followers_count": 0,
"favourites_count": 697,
"followers_count": 28,
"followers_count": 29,
"friends_count": 17,
"has_custom_timelines": false,
"is_translator": false,
@ -190,7 +190,7 @@
"location": "",
"media_count": 0,
"name": "amanshivamanupam",
"normal_followers_count": 28,
"normal_followers_count": 29,
"pinned_tweet_ids_str": [
"1755481487674101951"
],
@ -886,15 +886,15 @@
},
"fast_followers_count": 0,
"favourites_count": 98732,
"followers_count": 17863,
"friends_count": 19636,
"followers_count": 17861,
"friends_count": 19635,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 2,
"location": "Aracaju Sergipe Brasil",
"media_count": 365,
"name": "Pedro Vasconcelos🎶",
"normal_followers_count": 17863,
"normal_followers_count": 17861,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/81217433/1672402393",
@ -1076,7 +1076,7 @@
},
"fast_followers_count": 0,
"favourites_count": 476,
"followers_count": 89,
"followers_count": 90,
"friends_count": 341,
"has_custom_timelines": false,
"is_translator": false,
@ -1084,7 +1084,7 @@
"location": "๊USA",
"media_count": 1,
"name": "rajibelena",
"normal_followers_count": 89,
"normal_followers_count": 90,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2843756880/1705349988",

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -22,7 +22,7 @@
"entries": [
{
"entryId": "user-236209129",
"sortIndex": "1756404681724133376",
"sortIndex": "1756422457486475264",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -52,7 +52,7 @@
},
"fast_followers_count": 0,
"favourites_count": 16287,
"followers_count": 129250,
"followers_count": 129253,
"friends_count": 4003,
"has_custom_timelines": true,
"is_translator": false,
@ -60,7 +60,7 @@
"location": "",
"media_count": 1213,
"name": "Leslie Berland",
"normal_followers_count": 129250,
"normal_followers_count": 129253,
"pinned_tweet_ids_str": [
"1615377744275070980"
],
@ -87,7 +87,7 @@
},
{
"entryId": "user-156417821",
"sortIndex": "1756404681724133375",
"sortIndex": "1756422457486475263",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -130,7 +130,7 @@
},
"fast_followers_count": 0,
"favourites_count": 11841,
"followers_count": 13881,
"followers_count": 13882,
"friends_count": 1192,
"has_custom_timelines": true,
"is_translator": false,
@ -138,7 +138,7 @@
"location": "East Bay, CA",
"media_count": 173,
"name": "Mike Cvet",
"normal_followers_count": 13881,
"normal_followers_count": 13882,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/156417821/1465617789",
@ -164,7 +164,7 @@
},
{
"entryId": "user-6844292",
"sortIndex": "1756404681724133374",
"sortIndex": "1756422457486475262",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -207,7 +207,7 @@
},
"fast_followers_count": 0,
"favourites_count": 267,
"followers_count": 1323749,
"followers_count": 1323759,
"friends_count": 12,
"has_custom_timelines": true,
"is_translator": false,
@ -215,7 +215,7 @@
"location": "San Francisco",
"media_count": 63,
"name": "Engineering",
"normal_followers_count": 1323749,
"normal_followers_count": 1323759,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/6844292/1690213191",
@ -241,7 +241,7 @@
},
{
"entryId": "user-176425492",
"sortIndex": "1756404681724133373",
"sortIndex": "1756422457486475261",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -284,15 +284,15 @@
},
"fast_followers_count": 0,
"favourites_count": 30321,
"followers_count": 10575,
"friends_count": 5495,
"followers_count": 10577,
"friends_count": 5497,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 71,
"location": "nyc",
"media_count": 2175,
"name": "Hamza",
"normal_followers_count": 10575,
"normal_followers_count": 10577,
"pinned_tweet_ids_str": [
"1167249725751361537"
],
@ -320,7 +320,7 @@
},
{
"entryId": "user-14897303",
"sortIndex": "1756404681724133372",
"sortIndex": "1756422457486475260",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -363,15 +363,15 @@
},
"fast_followers_count": 0,
"favourites_count": 26285,
"followers_count": 106820,
"friends_count": 2976,
"followers_count": 106818,
"friends_count": 2977,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 1272,
"location": "San Francisco",
"media_count": 878,
"name": "Kayvon Beykpour",
"normal_followers_count": 106820,
"normal_followers_count": 106818,
"pinned_tweet_ids_str": [
"1626267128964988928"
],
@ -399,7 +399,7 @@
},
{
"entryId": "user-28628425",
"sortIndex": "1756404681724133371",
"sortIndex": "1756422457486475259",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -462,7 +462,7 @@
},
{
"entryId": "user-261034930",
"sortIndex": "1756404681724133370",
"sortIndex": "1756422457486475258",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -527,7 +527,7 @@
},
{
"entryId": "user-49188317",
"sortIndex": "1756404681724133369",
"sortIndex": "1756422457486475257",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -606,7 +606,7 @@
},
{
"entryId": "user-17200003",
"sortIndex": "1756404681724133368",
"sortIndex": "1756422457486475256",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -700,7 +700,7 @@
},
{
"entryId": "user-67501283",
"sortIndex": "1756404681724133367",
"sortIndex": "1756422457486475255",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -763,7 +763,7 @@
},
{
"entryId": "user-21266829",
"sortIndex": "1756404681724133366",
"sortIndex": "1756422457486475254",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -826,7 +826,7 @@
},
{
"entryId": "user-2397965574",
"sortIndex": "1756404681724133365",
"sortIndex": "1756422457486475253",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -856,7 +856,7 @@
},
"fast_followers_count": 0,
"favourites_count": 23473,
"followers_count": 3411,
"followers_count": 3412,
"friends_count": 721,
"has_custom_timelines": true,
"is_translator": false,
@ -864,7 +864,7 @@
"location": "London",
"media_count": 2026,
"name": "Rebecca",
"normal_followers_count": 3411,
"normal_followers_count": 3412,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1733460662011973632/VcYXdk_A_normal.jpg",
@ -888,7 +888,7 @@
},
{
"entryId": "user-199566737",
"sortIndex": "1756404681724133364",
"sortIndex": "1756422457486475252",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -953,7 +953,7 @@
},
{
"entryId": "user-63046977",
"sortIndex": "1756404681724133363",
"sortIndex": "1756422457486475251",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1018,7 +1018,7 @@
},
{
"entryId": "user-3070295959",
"sortIndex": "1756404681724133362",
"sortIndex": "1756422457486475250",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1081,7 +1081,7 @@
},
{
"entryId": "user-1353010477",
"sortIndex": "1756404681724133361",
"sortIndex": "1756422457486475249",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1157,7 +1157,7 @@
},
{
"entryId": "user-10671602",
"sortIndex": "1756404681724133360",
"sortIndex": "1756422457486475248",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1200,15 +1200,15 @@
},
"fast_followers_count": 0,
"favourites_count": 1442,
"followers_count": 35341833,
"followers_count": 35345144,
"friends_count": 770,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 35357,
"listed_count": 35354,
"location": "California",
"media_count": 24969,
"media_count": 24970,
"name": "PlayStation",
"normal_followers_count": 35341833,
"normal_followers_count": 35345144,
"pinned_tweet_ids_str": [
"1755016328736358764"
],
@ -1217,7 +1217,7 @@
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1278183948279922690/ybnDHXn7_normal.jpg",
"profile_interstitial_type": "",
"screen_name": "PlayStation",
"statuses_count": 44837,
"statuses_count": 44838,
"translator_type": "none",
"url": "https://t.co/OrydDMkek8",
"verified": false,
@ -1237,7 +1237,7 @@
},
{
"entryId": "user-1720665183188922368",
"sortIndex": "1756404681724133359",
"sortIndex": "1756422457486475247",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1280,7 +1280,7 @@
},
"fast_followers_count": 0,
"favourites_count": 32,
"followers_count": 319324,
"followers_count": 319378,
"friends_count": 2,
"has_custom_timelines": false,
"is_translator": false,
@ -1288,7 +1288,7 @@
"location": "",
"media_count": 0,
"name": "Grok",
"normal_followers_count": 319324,
"normal_followers_count": 319378,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1720665183188922368/1699593901",
@ -1314,7 +1314,7 @@
},
{
"entryId": "user-548263294",
"sortIndex": "1756404681724133358",
"sortIndex": "1756422457486475246",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1357,7 +1357,7 @@
},
"fast_followers_count": 0,
"favourites_count": 6845,
"followers_count": 554695,
"followers_count": 554693,
"friends_count": 1427,
"has_custom_timelines": false,
"is_translator": false,
@ -1365,7 +1365,7 @@
"location": "",
"media_count": 262,
"name": "Linda Yaccarino",
"normal_followers_count": 554695,
"normal_followers_count": 554693,
"pinned_tweet_ids_str": [
"1755746656329302155"
],
@ -1392,7 +1392,7 @@
},
{
"entryId": "user-1063564421581070337",
"sortIndex": "1756404681724133357",
"sortIndex": "1756422457486475245",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1454,7 +1454,7 @@
},
{
"entryId": "user-2907774137",
"sortIndex": "1756404681724133356",
"sortIndex": "1756422457486475244",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1507,15 +1507,15 @@
},
"fast_followers_count": 0,
"favourites_count": 8886,
"followers_count": 2951579,
"followers_count": 2951580,
"friends_count": 1,
"has_custom_timelines": false,
"is_translator": false,
"listed_count": 11578,
"listed_count": 11577,
"location": "Meta",
"media_count": 406882,
"name": "Archillect",
"normal_followers_count": 2951579,
"normal_followers_count": 2951580,
"pinned_tweet_ids_str": [
"1360884467427115010"
],
@ -1543,7 +1543,7 @@
},
{
"entryId": "user-96770474",
"sortIndex": "1756404681724133355",
"sortIndex": "1756422457486475243",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1586,7 +1586,7 @@
},
"fast_followers_count": 0,
"favourites_count": 42592,
"followers_count": 373781,
"followers_count": 373780,
"friends_count": 1806,
"has_custom_timelines": true,
"is_translator": false,
@ -1594,7 +1594,7 @@
"location": "Meta",
"media_count": 1734,
"name": "Pak",
"normal_followers_count": 373781,
"normal_followers_count": 373780,
"pinned_tweet_ids_str": [
"516363882978619393"
],
@ -1622,7 +1622,7 @@
},
{
"entryId": "user-752567226",
"sortIndex": "1756404681724133354",
"sortIndex": "1756422457486475242",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1662,7 +1662,7 @@
},
"fast_followers_count": 0,
"favourites_count": 41327,
"followers_count": 271529,
"followers_count": 271535,
"friends_count": 4109,
"has_custom_timelines": true,
"is_translator": false,
@ -1670,7 +1670,7 @@
"location": "X HQ",
"media_count": 3285,
"name": "X News Daily",
"normal_followers_count": 271529,
"normal_followers_count": 271535,
"pinned_tweet_ids_str": [
"1682849715862249472"
],
@ -1709,7 +1709,7 @@
},
{
"entryId": "user-16579934",
"sortIndex": "1756404681724133353",
"sortIndex": "1756422457486475241",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1788,7 +1788,7 @@
},
{
"entryId": "user-2688342211",
"sortIndex": "1756404681724133352",
"sortIndex": "1756422457486475240",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1891,7 +1891,7 @@
},
{
"entryId": "user-472310616",
"sortIndex": "1756404681724133351",
"sortIndex": "1756422457486475239",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1934,7 +1934,7 @@
},
"fast_followers_count": 0,
"favourites_count": 993,
"followers_count": 1642,
"followers_count": 1644,
"friends_count": 556,
"has_custom_timelines": true,
"is_translator": false,
@ -1942,7 +1942,7 @@
"location": "San Francisco, CA",
"media_count": 38,
"name": "Peilin Yang",
"normal_followers_count": 1642,
"normal_followers_count": 1644,
"pinned_tweet_ids_str": [
"1274975414729846784"
],
@ -1968,7 +1968,7 @@
},
{
"entryId": "user-94129050",
"sortIndex": "1756404681724133350",
"sortIndex": "1756422457486475238",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2021,7 +2021,7 @@
},
"fast_followers_count": 0,
"favourites_count": 1255,
"followers_count": 1357847,
"followers_count": 1357844,
"friends_count": 236,
"has_custom_timelines": false,
"is_translator": false,
@ -2029,7 +2029,7 @@
"location": "New York Metro Region",
"media_count": 1579,
"name": "MTA",
"normal_followers_count": 1357847,
"normal_followers_count": 1357844,
"pinned_tweet_ids_str": [
"1756018177861939329"
],
@ -2058,7 +2058,7 @@
},
{
"entryId": "user-44196397",
"sortIndex": "1756404681724133349",
"sortIndex": "1756422457486475237",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2101,15 +2101,15 @@
},
"fast_followers_count": 0,
"favourites_count": 42072,
"followers_count": 172155581,
"followers_count": 172168187,
"friends_count": 536,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 147289,
"listed_count": 147296,
"location": "",
"media_count": 1987,
"name": "Elon Musk",
"normal_followers_count": 172155581,
"normal_followers_count": 172168187,
"pinned_tweet_ids_str": [
"1755851825054433784"
],
@ -2142,7 +2142,7 @@
},
{
"entryId": "user-853388192",
"sortIndex": "1756404681724133348",
"sortIndex": "1756422457486475236",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2221,7 +2221,7 @@
},
{
"entryId": "user-49936717",
"sortIndex": "1756404681724133347",
"sortIndex": "1756422457486475235",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2285,7 +2285,7 @@
},
{
"entryId": "user-1171940098687950848",
"sortIndex": "1756404681724133346",
"sortIndex": "1756422457486475234",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2364,7 +2364,7 @@
},
{
"entryId": "user-75263523",
"sortIndex": "1756404681724133345",
"sortIndex": "1756422457486475233",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2441,7 +2441,7 @@
},
{
"entryId": "user-2990106209",
"sortIndex": "1756404681724133344",
"sortIndex": "1756422457486475232",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2506,7 +2506,7 @@
},
{
"entryId": "user-2425259995",
"sortIndex": "1756404681724133343",
"sortIndex": "1756422457486475231",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2555,7 +2555,7 @@
"is_translator": false,
"listed_count": 9,
"location": "State Of Qatar ",
"media_count": 514,
"media_count": 515,
"name": "Md Nahid Islam 🇧🇩🇶🇦",
"normal_followers_count": 746,
"pinned_tweet_ids_str": [
@ -2566,7 +2566,7 @@
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1748058118179684352/Hgqbomft_normal.jpg",
"profile_interstitial_type": "",
"screen_name": "nahidofficialbd",
"statuses_count": 14326,
"statuses_count": 14327,
"translator_type": "none",
"url": "https://t.co/kTbhzU51px",
"verified": false,
@ -2596,7 +2596,7 @@
},
{
"entryId": "user-685863",
"sortIndex": "1756404681724133342",
"sortIndex": "1756422457486475230",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2659,7 +2659,7 @@
},
{
"entryId": "user-248869046",
"sortIndex": "1756404681724133341",
"sortIndex": "1756422457486475229",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2733,7 +2733,7 @@
},
{
"entryId": "user-104236352",
"sortIndex": "1756404681724133340",
"sortIndex": "1756422457486475228",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2812,7 +2812,7 @@
},
{
"entryId": "user-1615654896",
"sortIndex": "1756404681724133339",
"sortIndex": "1756422457486475227",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2891,7 +2891,7 @@
},
{
"entryId": "user-29970507",
"sortIndex": "1756404681724133338",
"sortIndex": "1756422457486475226",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2969,7 +2969,7 @@
},
{
"entryId": "user-1168345391135371267",
"sortIndex": "1756404681724133337",
"sortIndex": "1756422457486475225",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3033,7 +3033,7 @@
},
{
"entryId": "user-124005464",
"sortIndex": "1756404681724133336",
"sortIndex": "1756422457486475224",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3095,7 +3095,7 @@
},
{
"entryId": "user-3921628635",
"sortIndex": "1756404681724133335",
"sortIndex": "1756422457486475223",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3125,7 +3125,7 @@
},
"fast_followers_count": 0,
"favourites_count": 58900,
"followers_count": 33463,
"followers_count": 33464,
"friends_count": 4390,
"has_custom_timelines": true,
"is_translator": false,
@ -3133,7 +3133,7 @@
"location": "San Francisco, CA",
"media_count": 2151,
"name": "James Loduca (he/him/él)",
"normal_followers_count": 33463,
"normal_followers_count": 33464,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/3921628635/1631304583",
@ -3158,7 +3158,7 @@
},
{
"entryId": "user-31898295",
"sortIndex": "1756404681724133334",
"sortIndex": "1756422457486475222",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3223,7 +3223,7 @@
},
{
"entryId": "user-760738503370084352",
"sortIndex": "1756404681724133333",
"sortIndex": "1756422457486475221",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3300,7 +3300,7 @@
},
{
"entryId": "user-41204968",
"sortIndex": "1756404681724133332",
"sortIndex": "1756422457486475220",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3363,7 +3363,7 @@
},
{
"entryId": "user-2276100433",
"sortIndex": "1756404681724133331",
"sortIndex": "1756422457486475219",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3426,7 +3426,7 @@
},
{
"entryId": "user-495741050",
"sortIndex": "1756404681724133330",
"sortIndex": "1756422457486475218",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3491,7 +3491,7 @@
},
{
"entryId": "user-340611224",
"sortIndex": "1756404681724133329",
"sortIndex": "1756422457486475217",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3525,7 +3525,7 @@
"friends_count": 1775,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 0,
"listed_count": 22,
"location": "🇪🇺",
"media_count": 632,
"name": "Mauro Piano",
@ -3554,7 +3554,7 @@
},
{
"entryId": "user-32416361",
"sortIndex": "1756404681724133328",
"sortIndex": "1756422457486475216",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3658,7 +3658,7 @@
},
{
"entryId": "user-6453472",
"sortIndex": "1756404681724133327",
"sortIndex": "1756422457486475215",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3740,7 +3740,7 @@
},
{
"entryId": "user-292670084",
"sortIndex": "1756404681724133326",
"sortIndex": "1756422457486475214",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3849,7 +3849,7 @@
},
{
"entryId": "user-1700547000",
"sortIndex": "1756404681724133325",
"sortIndex": "1756422457486475213",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3931,7 +3931,7 @@
},
{
"entryId": "user-3347115521",
"sortIndex": "1756404681724133324",
"sortIndex": "1756422457486475212",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3983,16 +3983,16 @@
}
},
"fast_followers_count": 0,
"favourites_count": 248262,
"followers_count": 8914,
"friends_count": 10615,
"favourites_count": 248256,
"followers_count": 8915,
"friends_count": 10616,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 15,
"location": "Bauru, Brasil🇧🇷🇧🇷🇧🇷",
"media_count": 4342,
"name": "Elisabeth 🎵🎶🌍🔭🌌💫 Instagram @betymaisvc2010",
"normal_followers_count": 8914,
"normal_followers_count": 8915,
"pinned_tweet_ids_str": [
"1594283867711541248"
],
@ -4020,7 +4020,7 @@
},
{
"entryId": "user-783677076951924739",
"sortIndex": "1756404681724133323",
"sortIndex": "1756422457486475211",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4085,7 +4085,7 @@
},
{
"entryId": "user-88262421",
"sortIndex": "1756404681724133322",
"sortIndex": "1756422457486475210",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4148,7 +4148,7 @@
},
{
"entryId": "user-3349202854",
"sortIndex": "1756404681724133321",
"sortIndex": "1756422457486475209",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4178,7 +4178,7 @@
}
},
"fast_followers_count": 0,
"favourites_count": 37609,
"favourites_count": 37619,
"followers_count": 215,
"friends_count": 249,
"has_custom_timelines": true,
@ -4214,7 +4214,7 @@
},
{
"entryId": "user-14184976",
"sortIndex": "1756404681724133320",
"sortIndex": "1756422457486475208",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4291,7 +4291,7 @@
},
{
"entryId": "user-160348679",
"sortIndex": "1756404681724133319",
"sortIndex": "1756422457486475207",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4370,7 +4370,7 @@
},
{
"entryId": "user-154236280",
"sortIndex": "1756404681724133318",
"sortIndex": "1756422457486475206",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4449,7 +4449,7 @@
},
{
"entryId": "user-948097629409263616",
"sortIndex": "1756404681724133317",
"sortIndex": "1756422457486475205",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4512,7 +4512,7 @@
},
{
"entryId": "user-2469856424",
"sortIndex": "1756404681724133316",
"sortIndex": "1756422457486475204",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4542,15 +4542,15 @@
},
"fast_followers_count": 0,
"favourites_count": 1264,
"followers_count": 2871,
"friends_count": 466,
"followers_count": 2872,
"friends_count": 467,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 11,
"location": "Oakland, CA",
"media_count": 107,
"name": "Bolá",
"normal_followers_count": 2871,
"normal_followers_count": 2872,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2469856424/1636654351",
@ -4580,7 +4580,7 @@
},
{
"entryId": "user-866879520359448577",
"sortIndex": "1756404681724133315",
"sortIndex": "1756422457486475203",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4609,7 +4609,7 @@
}
},
"fast_followers_count": 0,
"favourites_count": 2898,
"favourites_count": 2900,
"followers_count": 505,
"friends_count": 661,
"has_custom_timelines": true,
@ -4643,7 +4643,7 @@
},
{
"entryId": "user-1140344288082944000",
"sortIndex": "1756404681724133314",
"sortIndex": "1756422457486475202",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4706,7 +4706,7 @@
},
{
"entryId": "user-1181081146227970049",
"sortIndex": "1756404681724133313",
"sortIndex": "1756422457486475201",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -4736,7 +4736,7 @@
},
"fast_followers_count": 0,
"favourites_count": 1734,
"followers_count": 501,
"followers_count": 502,
"friends_count": 313,
"has_custom_timelines": true,
"is_translator": false,
@ -4744,7 +4744,7 @@
"location": "San Francisco, CA",
"media_count": 63,
"name": "Amber Brown",
"normal_followers_count": 501,
"normal_followers_count": 502,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1181081146227970049/1573608041",
@ -4768,22 +4768,22 @@
}
},
{
"entryId": "cursor-bottom-1756404681724133312",
"sortIndex": "1756404681724133312",
"entryId": "cursor-bottom-1756422457486475200",
"sortIndex": "1756422457486475200",
"content": {
"entryType": "TimelineTimelineCursor",
"__typename": "TimelineTimelineCursor",
"value": "1672312144855022089|1756404681724133310",
"value": "1672312144855022089|1756422457486475198",
"cursorType": "Bottom"
}
},
{
"entryId": "cursor-top-1756404681724133377",
"sortIndex": "1756404681724133377",
"entryId": "cursor-top-1756422457486475265",
"sortIndex": "1756422457486475265",
"content": {
"entryType": "TimelineTimelineCursor",
"__typename": "TimelineTimelineCursor",
"value": "-1|1756404681724133377",
"value": "-1|1756422457486475265",
"cursorType": "Top"
}
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -38,7 +38,7 @@
},
"fast_followers_count": 0,
"favourites_count": 697,
"followers_count": 28,
"followers_count": 29,
"friends_count": 17,
"has_custom_timelines": false,
"is_translator": false,
@ -46,7 +46,7 @@
"location": "",
"media_count": 0,
"name": "amanshivamanupam",
"normal_followers_count": 28,
"normal_followers_count": 29,
"pinned_tweet_ids_str": [
"1755481487674101951"
],
@ -572,7 +572,7 @@
},
"fast_followers_count": 0,
"favourites_count": 476,
"followers_count": 89,
"followers_count": 90,
"friends_count": 341,
"has_custom_timelines": false,
"is_translator": false,
@ -580,7 +580,7 @@
"location": "๊USA",
"media_count": 1,
"name": "rajibelena",
"normal_followers_count": 89,
"normal_followers_count": 90,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2843756880/1705349988",

Разница между файлами не показана из-за своего большого размера Загрузить разницу

1808
tests/mocked-data/raw_subscriptions.json Обычный файл

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -69,7 +69,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -77,7 +77,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -119,7 +119,7 @@
},
"is_translatable": false,
"views": {
"count": "677243",
"count": "677268",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -229,7 +229,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -237,7 +237,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -279,7 +279,7 @@
},
"is_translatable": false,
"views": {
"count": "189234",
"count": "189237",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -394,7 +394,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -402,7 +402,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -447,7 +447,7 @@
},
"is_translatable": false,
"views": {
"count": "134439",
"count": "134453",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -574,7 +574,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -582,7 +582,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -627,7 +627,7 @@
},
"is_translatable": false,
"views": {
"count": "104514",
"count": "104527",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -705,7 +705,7 @@
}
},
{
"entryId": "cursor-showmorethreads-5464310076762995092",
"entryId": "cursor-showmorethreads-2434149405644422625",
"sortIndex": "7574180516604530675",
"content": {
"entryType": "TimelineTimelineItem",

Просмотреть файл

@ -69,7 +69,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -77,7 +77,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -119,7 +119,7 @@
},
"is_translatable": false,
"views": {
"count": "677243",
"count": "677268",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -229,7 +229,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -237,7 +237,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -279,7 +279,7 @@
},
"is_translatable": false,
"views": {
"count": "189234",
"count": "189237",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -394,7 +394,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -402,7 +402,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -447,7 +447,7 @@
},
"is_translatable": false,
"views": {
"count": "134439",
"count": "134453",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -574,7 +574,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -582,7 +582,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -627,7 +627,7 @@
},
"is_translatable": false,
"views": {
"count": "104514",
"count": "104527",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -705,7 +705,7 @@
}
},
{
"entryId": "cursor-showmorethreads-2944676126953923946",
"entryId": "cursor-showmorethreads-2432049407703020118",
"sortIndex": "7574180516604530675",
"content": {
"entryType": "TimelineTimelineItem",

Просмотреть файл

@ -49,7 +49,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -57,7 +57,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],

Просмотреть файл

@ -49,7 +49,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -57,7 +57,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],

Просмотреть файл

@ -13,7 +13,7 @@
"type": "TimelinePinEntry",
"entry": {
"entryId": "tweet-1661790253886177280",
"sortIndex": "1756404707586211840",
"sortIndex": "1756422496711606272",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -74,7 +74,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -82,7 +82,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -124,7 +124,7 @@
},
"is_translatable": false,
"views": {
"count": "768947",
"count": "769025",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -181,7 +181,7 @@
"is_quote_status": false,
"lang": "en",
"quote_count": 194,
"reply_count": 496,
"reply_count": 497,
"retweet_count": 331,
"retweeted": false,
"user_id_str": "2244994945",
@ -211,7 +211,7 @@
"entries": [
{
"entryId": "tweet-1735357096777138304",
"sortIndex": "1756404707586211839",
"sortIndex": "1756422496711606271",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -272,7 +272,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -280,7 +280,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -464,7 +464,7 @@
},
"is_translatable": false,
"views": {
"count": "67708",
"count": "67743",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -529,7 +529,7 @@
},
{
"entryId": "tweet-1720506615714213927",
"sortIndex": "1756404707586211838",
"sortIndex": "1756422496711606270",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -590,7 +590,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -598,7 +598,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -782,7 +782,7 @@
},
"is_translatable": false,
"views": {
"count": "127211",
"count": "127233",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -847,7 +847,7 @@
},
{
"entryId": "tweet-1693760896856920167",
"sortIndex": "1756404707586211837",
"sortIndex": "1756422496711606269",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -908,7 +908,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -916,7 +916,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -1053,7 +1053,7 @@
},
"fast_followers_count": 0,
"favourites_count": 4,
"followers_count": 5942353,
"followers_count": 5942384,
"friends_count": 31,
"has_custom_timelines": false,
"is_translator": false,
@ -1061,7 +1061,7 @@
"location": "",
"media_count": 9,
"name": "API",
"normal_followers_count": 5942353,
"normal_followers_count": 5942384,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1690212094",
@ -1090,7 +1090,7 @@
},
"is_translatable": false,
"views": {
"count": "180541",
"count": "180565",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -1177,7 +1177,7 @@
},
{
"entryId": "tweet-1653492584176656384",
"sortIndex": "1756404707586211836",
"sortIndex": "1756422496711606268",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -1238,7 +1238,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -1246,7 +1246,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -1288,7 +1288,7 @@
},
"is_translatable": false,
"views": {
"count": "4357542",
"count": "4357592",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -1340,14 +1340,14 @@
}
},
{
"entryId": "who-to-follow-1756404707586211845",
"sortIndex": "1756404707586211835",
"entryId": "who-to-follow-1756422496711606277",
"sortIndex": "1756422496711606267",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "who-to-follow-1756404707586211845-user-31311757",
"entryId": "who-to-follow-1756422496711606277-user-31311757",
"item": {
"itemContent": {
"itemType": "TimelineUser",
@ -1388,15 +1388,15 @@
},
"fast_followers_count": 0,
"favourites_count": 3428,
"followers_count": 4388802,
"followers_count": 4388887,
"friends_count": 61,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 16959,
"listed_count": 16958,
"location": "",
"media_count": 2972,
"name": "Google Maps",
"normal_followers_count": 4388802,
"normal_followers_count": 4388887,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/31311757/1635803694",
@ -1422,119 +1422,14 @@
"timelinesDetails": {
"injectionType": "WhoToFollow",
"controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA",
"sourceData": "DAABCgABkDLwJMowFdMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
"sourceData": "DAABCgABwEx63mVc3xMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
}
}
}
}
},
{
"entryId": "who-to-follow-1756404707586211845-user-95731075",
"item": {
"itemContent": {
"itemType": "TimelineUser",
"__typename": "TimelineUser",
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo5NTczMTA3NQ==",
"rest_id": "95731075",
"affiliates_highlighted_label": {
"label": {
"url": {
"url": "https://twitter.com/X",
"urlType": "DeepLink"
},
"badge": {
"url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg"
},
"description": "X",
"userLabelType": "BusinessLabel",
"userLabelDisplayType": "Badge"
}
},
"has_graduated_access": true,
"is_blue_verified": true,
"profile_image_shape": "Square",
"legacy": {
"can_dm": false,
"can_media_tag": true,
"created_at": "Wed Dec 09 21:00:57 +0000 2009",
"default_profile": false,
"default_profile_image": false,
"description": "Providing the latest safety tools, resources, and updates from X. For support visit: https://t.co/jD9AXHS5UF",
"entities": {
"description": {
"urls": [
{
"display_url": "help.twitter.com",
"expanded_url": "https://help.twitter.com",
"url": "https://t.co/jD9AXHS5UF",
"indices": [
85,
108
]
}
]
},
"url": {
"urls": [
{
"display_url": "help.twitter.com",
"expanded_url": "https://help.twitter.com",
"url": "https://t.co/jD9AXHS5UF",
"indices": [
0,
23
]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 187,
"followers_count": 3699889,
"friends_count": 135,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 8493,
"location": "X HQ",
"media_count": 159,
"name": "Safety",
"normal_followers_count": 3699889,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/95731075/1690214538",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1683507906891718658/ZS9jJfar_normal.jpg",
"profile_interstitial_type": "",
"screen_name": "Safety",
"statuses_count": 1575,
"translator_type": "regular",
"url": "https://t.co/jD9AXHS5UF",
"verified": false,
"verified_type": "Business",
"want_retweets": false,
"withheld_in_countries": []
}
}
},
"userDisplayType": "User"
},
"clientEventInfo": {
"component": "suggest_who_to_follow",
"element": "user",
"details": {
"timelinesDetails": {
"injectionType": "WhoToFollow",
"controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA",
"sourceData": "DAABCgABkDLwJMowFdMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
}
}
}
}
},
{
"entryId": "who-to-follow-1756404707586211845-user-33838201",
"entryId": "who-to-follow-1756422496711606277-user-33838201",
"item": {
"itemContent": {
"itemType": "TimelineUser",
@ -1575,15 +1470,15 @@
},
"fast_followers_count": 0,
"favourites_count": 6,
"followers_count": 2123305,
"followers_count": 2123356,
"friends_count": 23,
"has_custom_timelines": false,
"is_translator": false,
"listed_count": 23654,
"listed_count": 23655,
"location": "Mountain View, CA",
"media_count": 830,
"name": "Google AI",
"normal_followers_count": 2123305,
"normal_followers_count": 2123356,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/33838201/1525739769",
@ -1609,7 +1504,88 @@
"timelinesDetails": {
"injectionType": "WhoToFollow",
"controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA",
"sourceData": "DAABCgABkDLwJMowFdMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
"sourceData": "DAABCgABwEx63mVc3xMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
}
}
}
}
},
{
"entryId": "who-to-follow-1756422496711606277-user-1668100142",
"item": {
"itemContent": {
"itemType": "TimelineUser",
"__typename": "TimelineUser",
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjoxNjY4MTAwMTQy",
"rest_id": "1668100142",
"affiliates_highlighted_label": {},
"has_graduated_access": true,
"is_blue_verified": true,
"profile_image_shape": "Circle",
"legacy": {
"can_dm": false,
"can_media_tag": true,
"created_at": "Tue Aug 13 15:27:51 +0000 2013",
"default_profile": false,
"default_profile_image": false,
"description": "We're a community of millions of people who are building new skills and getting new jobs together. A 501(c)(3) public charity. Tweets by @abbeyrenn.",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "freecodecamp.org",
"expanded_url": "https://www.freecodecamp.org",
"url": "https://t.co/LHs4dxj9fJ",
"indices": [
0,
23
]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 77863,
"followers_count": 844883,
"friends_count": 162,
"has_custom_timelines": false,
"is_translator": false,
"listed_count": 6875,
"location": "Just here on Earth... for now",
"media_count": 1218,
"name": "freeCodeCamp.org",
"normal_followers_count": 844883,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1668100142/1423791803",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1276770212927410176/qTgTIejk_normal.jpg",
"profile_interstitial_type": "",
"screen_name": "freeCodeCamp",
"statuses_count": 30900,
"translator_type": "none",
"url": "https://t.co/LHs4dxj9fJ",
"verified": false,
"want_retweets": false,
"withheld_in_countries": []
}
}
},
"userDisplayType": "User"
},
"clientEventInfo": {
"component": "suggest_who_to_follow",
"element": "user",
"details": {
"timelinesDetails": {
"injectionType": "WhoToFollow",
"controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA",
"sourceData": "DAABCgABwEx63mVc3xMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
}
}
}
@ -1636,21 +1612,21 @@
"timelinesDetails": {
"injectionType": "WhoToFollow",
"controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA",
"sourceData": "DAABCgABkDLwJMowFdMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
"sourceData": "DAABCgABwEx63mVc3xMKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA="
}
}
}
}
},
{
"entryId": "profile-conversation-1756404707586211846",
"sortIndex": "1756404707586211834",
"entryId": "profile-conversation-1756422496711606278",
"sortIndex": "1756422496711606266",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211846-tweet-1649191520250245121",
"entryId": "profile-conversation-1756422496711606278-tweet-1649191520250245121",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -1709,7 +1685,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -1717,7 +1693,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -1759,7 +1735,7 @@
},
"is_translatable": false,
"views": {
"count": "677243",
"count": "677268",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -1811,7 +1787,7 @@
}
},
{
"entryId": "profile-conversation-1756404707586211846-tweet-1649191522485817345",
"entryId": "profile-conversation-1756422496711606278-tweet-1649191522485817345",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -1870,7 +1846,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -1878,7 +1854,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -1923,7 +1899,7 @@
},
"is_translatable": false,
"views": {
"count": "134439",
"count": "134453",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -1990,7 +1966,7 @@
}
},
{
"entryId": "profile-conversation-1756404707586211846-tweet-1649191523697979392",
"entryId": "profile-conversation-1756422496711606278-tweet-1649191523697979392",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -2049,7 +2025,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2057,7 +2033,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -2102,7 +2078,7 @@
},
"is_translatable": false,
"views": {
"count": "104514",
"count": "104527",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -2194,7 +2170,7 @@
},
{
"entryId": "tweet-1643373950930661377",
"sortIndex": "1756404707586211833",
"sortIndex": "1756422496711606265",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -2255,7 +2231,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2263,7 +2239,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -2316,7 +2292,7 @@
},
"is_translatable": false,
"views": {
"count": "242959",
"count": "242971",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -2368,14 +2344,14 @@
}
},
{
"entryId": "profile-conversation-1756404707586211848",
"sortIndex": "1756404707586211832",
"entryId": "profile-conversation-1756422496711606280",
"sortIndex": "1756422496711606264",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211848-tweet-1641222788911624192",
"entryId": "profile-conversation-1756422496711606280-tweet-1641222788911624192",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -2434,7 +2410,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2442,7 +2418,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -2484,7 +2460,7 @@
},
"is_translatable": false,
"views": {
"count": "310597",
"count": "310606",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -2539,7 +2515,7 @@
}
},
{
"entryId": "profile-conversation-1756404707586211848-tweet-1641222789901484034",
"entryId": "profile-conversation-1756422496711606280-tweet-1641222789901484034",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -2598,7 +2574,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2606,7 +2582,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -2648,7 +2624,7 @@
},
"is_translatable": false,
"views": {
"count": "305574",
"count": "305583",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -2725,14 +2701,14 @@
}
},
{
"entryId": "profile-conversation-1756404707586211849",
"sortIndex": "1756404707586211831",
"entryId": "profile-conversation-1756422496711606281",
"sortIndex": "1756422496711606263",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211849-tweet-1641222786894135296",
"entryId": "profile-conversation-1756422496711606281-tweet-1641222786894135296",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -2791,7 +2767,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2799,7 +2775,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -2841,7 +2817,7 @@
},
"is_translatable": false,
"views": {
"count": "1087981",
"count": "1087993",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -2896,7 +2872,7 @@
}
},
{
"entryId": "profile-conversation-1756404707586211849-tweet-1641222787934355456",
"entryId": "profile-conversation-1756422496711606281-tweet-1641222787934355456",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -2955,7 +2931,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -2963,7 +2939,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -3005,7 +2981,7 @@
},
"is_translatable": false,
"views": {
"count": "238479",
"count": "238487",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -3081,14 +3057,14 @@
}
},
{
"entryId": "profile-conversation-1756404707586211850",
"sortIndex": "1756404707586211830",
"entryId": "profile-conversation-1756422496711606282",
"sortIndex": "1756422496711606262",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211850-tweet-1641222785702952961",
"entryId": "profile-conversation-1756422496711606282-tweet-1641222785702952961",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -3147,7 +3123,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -3155,7 +3131,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -3200,7 +3176,7 @@
},
"is_translatable": false,
"views": {
"count": "253238",
"count": "253246",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -3288,14 +3264,14 @@
}
},
{
"entryId": "profile-conversation-1756404707586211851",
"sortIndex": "1756404707586211829",
"entryId": "profile-conversation-1756422496711606283",
"sortIndex": "1756422496711606261",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211851-tweet-1641222782594990080",
"entryId": "profile-conversation-1756422496711606283-tweet-1641222782594990080",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -3354,7 +3330,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -3362,7 +3338,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -3404,7 +3380,7 @@
},
"is_translatable": false,
"views": {
"count": "7284860",
"count": "7284876",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -3456,7 +3432,7 @@
}
},
{
"entryId": "profile-conversation-1756404707586211851-tweet-1641222784599879680",
"entryId": "profile-conversation-1756422496711606283-tweet-1641222784599879680",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -3515,7 +3491,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -3523,7 +3499,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -3568,7 +3544,7 @@
},
"is_translatable": false,
"views": {
"count": "1728327",
"count": "1728336",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -3656,14 +3632,14 @@
}
},
{
"entryId": "profile-conversation-1756404707586211852",
"sortIndex": "1756404707586211828",
"entryId": "profile-conversation-1756422496711606284",
"sortIndex": "1756422496711606260",
"content": {
"entryType": "TimelineTimelineModule",
"__typename": "TimelineTimelineModule",
"items": [
{
"entryId": "profile-conversation-1756404707586211852-tweet-1641222783601631233",
"entryId": "profile-conversation-1756422496711606284-tweet-1641222783601631233",
"item": {
"itemContent": {
"itemType": "TimelineTweet",
@ -3722,7 +3698,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -3730,7 +3706,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -3775,7 +3751,7 @@
},
"is_translatable": false,
"views": {
"count": "1179682",
"count": "1179687",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -3864,7 +3840,7 @@
},
{
"entryId": "tweet-1638262172798144545",
"sortIndex": "1756404707586211827",
"sortIndex": "1756422496711606259",
"content": {
"entryType": "TimelineTimelineItem",
"__typename": "TimelineTimelineItem",
@ -3925,7 +3901,7 @@
},
"fast_followers_count": 0,
"favourites_count": 2073,
"followers_count": 607579,
"followers_count": 607577,
"friends_count": 1773,
"has_custom_timelines": true,
"is_translator": false,
@ -3933,7 +3909,7 @@
"location": "127.0.0.1",
"media_count": 815,
"name": "Developers",
"normal_followers_count": 607579,
"normal_followers_count": 607577,
"pinned_tweet_ids_str": [
"1661790253886177280"
],
@ -4089,7 +4065,7 @@
},
"fast_followers_count": 0,
"favourites_count": 187,
"followers_count": 3699889,
"followers_count": 3699926,
"friends_count": 135,
"has_custom_timelines": true,
"is_translator": false,
@ -4097,7 +4073,7 @@
"location": "X HQ",
"media_count": 159,
"name": "Safety",
"normal_followers_count": 3699889,
"normal_followers_count": 3699926,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/95731075/1690214538",
@ -4126,7 +4102,7 @@
},
"is_translatable": false,
"views": {
"count": "8091255",
"count": "8091262",
"state": "EnabledWithCount"
},
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
@ -4191,22 +4167,22 @@
}
},
{
"entryId": "cursor-top-1756404707586211841",
"sortIndex": "1756404707586211841",
"entryId": "cursor-top-1756422496711606273",
"sortIndex": "1756422496711606273",
"content": {
"entryType": "TimelineTimelineCursor",
"__typename": "TimelineTimelineCursor",
"value": "DAABCgABGGAAxpWAJxEKAAIYFToVz9rAgAgAAwAAAAEAAA",
"value": "DAABCgABGGAQ9HAAJxEKAAIYFToVz9rAgAgAAwAAAAEAAA",
"cursorType": "Top"
}
},
{
"entryId": "cursor-bottom-1756404707586211826",
"sortIndex": "1756404707586211826",
"entryId": "cursor-bottom-1756422496711606258",
"sortIndex": "1756422496711606258",
"content": {
"entryType": "TimelineTimelineCursor",
"__typename": "TimelineTimelineCursor",
"value": "DAABCgABGGAAxpV___AKAAIWvEbEKpfQIQgAAwAAAAIAAA",
"value": "DAABCgABGGAQ9G____AKAAIWvEbEKpfQIQgAAwAAAAIAAA",
"cursorType": "Bottom"
}
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

1373
tests/mocked-data/raw_verified_followers.json Обычный файл

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -237,6 +237,29 @@ async def test_followers():
check_user(doc)
async def test_verified_followers():
api = API()
mock_rep(api.verified_followers_raw, "raw_verified_followers", as_generator=True)
users = await gather(api.verified_followers(2244994945))
assert len(users) > 0
for doc in users:
check_user(doc)
assert doc.blue is True, "snould be only Blue users"
async def test_subscriptions():
api = API()
mock_rep(api.subscriptions_raw, "raw_subscriptions", as_generator=True)
users = await gather(api.subscriptions(44196397))
assert len(users) > 0
for doc in users:
check_user(doc)
async def test_following():
api = API()
mock_rep(api.following_raw, "raw_following", as_generator=True)

1
todo
Просмотреть файл

@ -1 +0,0 @@
- add search People, Lists support (done: Top, Latest, Media) + add test for each type

Просмотреть файл

@ -18,6 +18,8 @@ OP_UserTweets = "5ICa5d9-AitXZrIA3H-4MQ/UserTweets"
OP_UserTweetsAndReplies = "UtLStR_BnYUGD7Q453UXQg/UserTweetsAndReplies"
OP_ListLatestTweetsTimeline = "HjsWc-nwwHKYwHenbHm-tw/ListLatestTweetsTimeline"
OP_Likes = "9s8V6sUI8fZLDiN-REkAxA/Likes"
OP_BlueVerifiedFollowers = "mg4dFO4kMIKt6tpqPMmFeg/BlueVerifiedFollowers"
OP_UserCreatorSubscriptions = "3IgWXBdSRADe5MkzziJV0A/UserCreatorSubscriptions"
GQL_URL = "https://twitter.com/i/api/graphql"
@ -235,6 +237,20 @@ class API:
for x in parse_users(rep.json(), limit):
yield x
# verified_followers
async def verified_followers_raw(self, uid: int, limit=-1, kv=None):
op = OP_BlueVerifiedFollowers
kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})}
ft = {"responsive_web_twitter_article_notes_tab_enabled": True}
async for x in self._gql_items(op, kv, limit=limit, ft=ft):
yield x
async def verified_followers(self, uid: int, limit=-1, kv=None):
async for rep in self.verified_followers_raw(uid, limit=limit, kv=kv):
for x in parse_users(rep.json(), limit):
yield x
# following
async def following_raw(self, uid: int, limit=-1, kv=None):
@ -248,6 +264,19 @@ class API:
for x in parse_users(rep.json(), limit):
yield x
# subscriptions
async def subscriptions_raw(self, uid: int, limit=-1, kv=None):
op = OP_UserCreatorSubscriptions
kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})}
async for x in self._gql_items(op, kv, limit=limit):
yield x
async def subscriptions(self, uid: int, limit=-1, kv=None):
async for rep in self.subscriptions_raw(uid, limit=limit, kv=kv):
for x in parse_users(rep.json(), limit):
yield x
# retweeters
async def retweeters_raw(self, twid: int, limit=-1, kv=None):

Просмотреть файл

@ -188,8 +188,11 @@ def run():
c_lim("favoriters", "Get favoriters of a tweet", "tweet_id", "Tweet ID", int)
c_one("user_by_id", "Get user data by ID", "user_id", "User ID", int)
c_one("user_by_login", "Get user data by username", "username", "Username")
c_lim("followers", "Get user followers", "user_id", "User ID", int)
c_lim("following", "Get user following", "user_id", "User ID", int)
c_lim("followers", "Get user followers", "user_id", "User ID", int)
# https://twitter.com/xDaily/status/1701694747767648500
c_lim("verified_followers", "Get user verified followers", "user_id", "User ID", int)
c_lim("subscriptions", "Get user subscriptions", "user_id", "User ID", int)
c_lim("user_tweets", "Get user tweets", "user_id", "User ID", int)
c_lim("user_tweets_and_replies", "Get user tweets and replies", "user_id", "User ID", int)
c_lim("list_timeline", "Get tweets from list", "list_id", "List ID", int)