зеркало из
https://github.com/viginum-datalab/twscrape.git
synced 2025-10-30 13:36:12 +02:00
update mocks; fix full context parsing for tweets with rt
Этот коммит содержится в:
родитель
462739b5d9
Коммит
99bf64028e
4
Makefile
4
Makefile
@ -44,7 +44,7 @@ test34:
|
||||
|
||||
update-mocks:
|
||||
twscrape user_by_id --raw 2244994945 | jq > ./tests/mocked-data/user_by_id_raw.json
|
||||
twscrape user_by_login --raw twitterdev | jq > ./tests/mocked-data/user_by_login_raw.json
|
||||
twscrape user_by_login --raw xdevelopers | jq > ./tests/mocked-data/user_by_login_raw.json
|
||||
twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/followers_raw.json
|
||||
twscrape following --raw --limit 10 2244994945 | jq > ./tests/mocked-data/following_raw.json
|
||||
twscrape tweet_details --raw 1649191520250245121 | jq > ./tests/mocked-data/tweet_details_raw.json
|
||||
@ -53,3 +53,5 @@ update-mocks:
|
||||
twscrape user_tweets --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_raw.json
|
||||
twscrape user_tweets_and_replies --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_and_replies_raw.json
|
||||
twscrape search --raw --limit 10 "elon musk lang:en" | jq > ./tests/mocked-data/search_raw.json
|
||||
|
||||
twscrape tweet_details --raw 1665951747842641921 | jq > ./tests/mocked-data/_issue_42_regr.json
|
||||
|
||||
@ -85,7 +85,7 @@ async def main():
|
||||
await gather(api.favoriters(tweet_id, limit=20)) # list[User]
|
||||
|
||||
# get user by login
|
||||
user_login = "twitterdev"
|
||||
user_login = "xdevelopers"
|
||||
await api.user_by_login(user_login) # User
|
||||
|
||||
# user info
|
||||
|
||||
791
tests/mocked-data/_issue_42_regr.json
Обычный файл
791
tests/mocked-data/_issue_42_regr.json
Обычный файл
@ -0,0 +1,791 @@
|
||||
{
|
||||
"data": {
|
||||
"threaded_conversation_with_injections_v2": {
|
||||
"instructions": [
|
||||
{
|
||||
"type": "TimelineAddEntries",
|
||||
"entries": [
|
||||
{
|
||||
"entryId": "tweet-1665951747842641921",
|
||||
"sortIndex": "7557420289012133886",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineItem",
|
||||
"__typename": "TimelineTimelineItem",
|
||||
"itemContent": {
|
||||
"itemType": "TimelineTweet",
|
||||
"__typename": "TimelineTweet",
|
||||
"tweet_results": {
|
||||
"result": {
|
||||
"__typename": "Tweet",
|
||||
"rest_id": "1665951747842641921",
|
||||
"has_birdwatch_notes": false,
|
||||
"core": {
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjoxNTM5Nzc0OTEzOTY3NzE0MzA0",
|
||||
"rest_id": "1539774913967714304",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": false,
|
||||
"profile_image_shape": "Square",
|
||||
"legacy": {
|
||||
"can_dm": false,
|
||||
"can_media_tag": true,
|
||||
"created_at": "Thu Jun 23 00:59:21 +0000 2022",
|
||||
"default_profile": true,
|
||||
"default_profile_image": false,
|
||||
"description": "AVIC International Holding Corporation (AVIC INTL) is a global share-holding enterprise affiliated to Aviation Industry Corporation of China (AVIC).",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 145,
|
||||
"followers_count": 11675,
|
||||
"friends_count": 118,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 6,
|
||||
"location": "",
|
||||
"media_count": 195,
|
||||
"name": "AVIC INTL",
|
||||
"normal_followers_count": 11675,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1539774913967714304/1656380265",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1542841676573466625/Twwv8q0a_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "_AVICINTL",
|
||||
"statuses_count": 268,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"verified_type": "Business",
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
},
|
||||
"professional": {
|
||||
"rest_id": "1565386974147387392",
|
||||
"professional_type": "Business",
|
||||
"category": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"edit_control": {
|
||||
"edit_tweet_ids": [
|
||||
"1665951747842641921"
|
||||
],
|
||||
"editable_until_msecs": "1686032423229",
|
||||
"is_edit_eligible": false,
|
||||
"edits_remaining": "5"
|
||||
},
|
||||
"is_translatable": false,
|
||||
"views": {
|
||||
"state": "Enabled"
|
||||
},
|
||||
"source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>",
|
||||
"legacy": {
|
||||
"bookmark_count": 0,
|
||||
"bookmarked": false,
|
||||
"created_at": "Tue Jun 06 05:20:23 +0000 2023",
|
||||
"conversation_id_str": "1665951747842641921",
|
||||
"display_text_range": [
|
||||
0,
|
||||
140
|
||||
],
|
||||
"entities": {
|
||||
"user_mentions": [
|
||||
{
|
||||
"id_str": "87775422",
|
||||
"name": "China Daily",
|
||||
"screen_name": "ChinaDaily",
|
||||
"indices": [
|
||||
3,
|
||||
14
|
||||
]
|
||||
}
|
||||
],
|
||||
"urls": [],
|
||||
"hashtags": [],
|
||||
"symbols": []
|
||||
},
|
||||
"favorite_count": 0,
|
||||
"favorited": false,
|
||||
"full_text": "RT @ChinaDaily: Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming pe…",
|
||||
"is_quote_status": false,
|
||||
"lang": "en",
|
||||
"quote_count": 0,
|
||||
"reply_count": 0,
|
||||
"retweet_count": 10,
|
||||
"retweeted": false,
|
||||
"user_id_str": "1539774913967714304",
|
||||
"id_str": "1665951747842641921",
|
||||
"retweeted_status_result": {
|
||||
"result": {
|
||||
"__typename": "Tweet",
|
||||
"rest_id": "1665863576060575744",
|
||||
"has_birdwatch_notes": false,
|
||||
"core": {
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjo4Nzc3NTQyMg==",
|
||||
"rest_id": "87775422",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": true,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": true,
|
||||
"can_media_tag": true,
|
||||
"created_at": "Thu Nov 05 20:30:10 +0000 2009",
|
||||
"default_profile": false,
|
||||
"default_profile_image": false,
|
||||
"description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "t.me/+043Tnnn4bd4yN…",
|
||||
"expanded_url": "https://t.me/+043Tnnn4bd4yNTll",
|
||||
"url": "https://t.co/GxDi5xGRTF",
|
||||
"indices": [
|
||||
103,
|
||||
126
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 1157,
|
||||
"followers_count": 4160524,
|
||||
"friends_count": 156,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 6973,
|
||||
"location": "Beijing, China",
|
||||
"media_count": 111985,
|
||||
"name": "China Daily",
|
||||
"normal_followers_count": 4160524,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1698671689515593958"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "ChinaDaily",
|
||||
"statuses_count": 207165,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
},
|
||||
"professional": {
|
||||
"rest_id": "1473187902209536003",
|
||||
"professional_type": "Creator",
|
||||
"category": [
|
||||
{
|
||||
"id": 580,
|
||||
"name": "Media & News Company",
|
||||
"icon_name": "IconBriefcaseStroke"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"edit_control": {
|
||||
"edit_tweet_ids": [
|
||||
"1665863576060575744"
|
||||
],
|
||||
"editable_until_msecs": "1686011401000",
|
||||
"is_edit_eligible": true,
|
||||
"edits_remaining": "5"
|
||||
},
|
||||
"is_translatable": false,
|
||||
"views": {
|
||||
"count": "5229",
|
||||
"state": "EnabledWithCount"
|
||||
},
|
||||
"source": "<a href=\"http://erased21340332_45IhsckRBy.com\" rel=\"nofollow\">erased21340332_45IhsckRBy</a>",
|
||||
"legacy": {
|
||||
"bookmark_count": 0,
|
||||
"bookmarked": false,
|
||||
"created_at": "Mon Jun 05 23:30:01 +0000 2023",
|
||||
"conversation_id_str": "1665863576060575744",
|
||||
"display_text_range": [
|
||||
0,
|
||||
128
|
||||
],
|
||||
"entities": {
|
||||
"media": [
|
||||
{
|
||||
"display_url": "pic.twitter.com/SQMrX99bWr",
|
||||
"expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1",
|
||||
"id_str": "1665861064259686400",
|
||||
"indices": [
|
||||
129,
|
||||
152
|
||||
],
|
||||
"media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg",
|
||||
"type": "photo",
|
||||
"url": "https://t.co/SQMrX99bWr",
|
||||
"features": {},
|
||||
"sizes": {
|
||||
"large": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"medium": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"small": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"thumb": {
|
||||
"h": 150,
|
||||
"w": 150,
|
||||
"resize": "crop"
|
||||
}
|
||||
},
|
||||
"original_info": {
|
||||
"height": 640,
|
||||
"width": 296
|
||||
}
|
||||
}
|
||||
],
|
||||
"user_mentions": [],
|
||||
"urls": [],
|
||||
"hashtags": [],
|
||||
"symbols": []
|
||||
},
|
||||
"extended_entities": {
|
||||
"media": [
|
||||
{
|
||||
"display_url": "pic.twitter.com/SQMrX99bWr",
|
||||
"expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1",
|
||||
"id_str": "1665861064259686400",
|
||||
"indices": [
|
||||
129,
|
||||
152
|
||||
],
|
||||
"media_key": "7_1665861064259686400",
|
||||
"media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg",
|
||||
"type": "video",
|
||||
"url": "https://t.co/SQMrX99bWr",
|
||||
"additional_media_info": {
|
||||
"monetizable": false
|
||||
},
|
||||
"mediaStats": {
|
||||
"viewCount": 964
|
||||
},
|
||||
"ext_media_availability": {
|
||||
"status": "Available"
|
||||
},
|
||||
"features": {},
|
||||
"sizes": {
|
||||
"large": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"medium": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"small": {
|
||||
"h": 640,
|
||||
"w": 296,
|
||||
"resize": "fit"
|
||||
},
|
||||
"thumb": {
|
||||
"h": 150,
|
||||
"w": 150,
|
||||
"resize": "crop"
|
||||
}
|
||||
},
|
||||
"original_info": {
|
||||
"height": 640,
|
||||
"width": 296
|
||||
},
|
||||
"video_info": {
|
||||
"aspect_ratio": [
|
||||
37,
|
||||
80
|
||||
],
|
||||
"duration_millis": 16000,
|
||||
"variants": [
|
||||
{
|
||||
"content_type": "application/x-mpegURL",
|
||||
"url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/pl/pPnoCo_jLID-udSS.m3u8?tag=12&container=fmp4"
|
||||
},
|
||||
{
|
||||
"bitrate": 632000,
|
||||
"content_type": "video/mp4",
|
||||
"url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/vid/296x640/qQVrB3CenvchQsuP.mp4?tag=12"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"favorite_count": 26,
|
||||
"favorited": false,
|
||||
"full_text": "Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming period. https://t.co/SQMrX99bWr",
|
||||
"is_quote_status": false,
|
||||
"lang": "en",
|
||||
"possibly_sensitive": false,
|
||||
"possibly_sensitive_editable": true,
|
||||
"quote_count": 5,
|
||||
"reply_count": 4,
|
||||
"retweet_count": 10,
|
||||
"retweeted": false,
|
||||
"user_id_str": "87775422",
|
||||
"id_str": "1665863576060575744"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"quick_promote_eligibility": {
|
||||
"eligibility": "IneligibleNotProfessional"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tweetDisplayType": "Tweet",
|
||||
"hasModeratedReplies": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "tweetdetailrelatedtweets-1700101930339721300",
|
||||
"sortIndex": "1",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineModule",
|
||||
"__typename": "TimelineTimelineModule",
|
||||
"items": [
|
||||
{
|
||||
"entryId": "tweetdetailrelatedtweets-1700101930339721300-tweet-1700101930339721300",
|
||||
"item": {
|
||||
"itemContent": {
|
||||
"itemType": "TimelineTweet",
|
||||
"__typename": "TimelineTweet",
|
||||
"tweet_results": {
|
||||
"result": {
|
||||
"__typename": "Tweet",
|
||||
"rest_id": "1700101930339721300",
|
||||
"has_birdwatch_notes": false,
|
||||
"core": {
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjo4Nzc3NTQyMg==",
|
||||
"rest_id": "87775422",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": true,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": true,
|
||||
"can_media_tag": true,
|
||||
"created_at": "Thu Nov 05 20:30:10 +0000 2009",
|
||||
"default_profile": false,
|
||||
"default_profile_image": false,
|
||||
"description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "t.me/+043Tnnn4bd4yN…",
|
||||
"expanded_url": "https://t.me/+043Tnnn4bd4yNTll",
|
||||
"url": "https://t.co/GxDi5xGRTF",
|
||||
"indices": [
|
||||
103,
|
||||
126
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 1157,
|
||||
"followers_count": 4160524,
|
||||
"friends_count": 156,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 6973,
|
||||
"location": "Beijing, China",
|
||||
"media_count": 111985,
|
||||
"name": "China Daily",
|
||||
"normal_followers_count": 4160524,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1698671689515593958"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "ChinaDaily",
|
||||
"statuses_count": 207165,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
},
|
||||
"professional": {
|
||||
"rest_id": "1473187902209536003",
|
||||
"professional_type": "Creator",
|
||||
"category": [
|
||||
{
|
||||
"id": 580,
|
||||
"name": "Media & News Company",
|
||||
"icon_name": "IconBriefcaseStroke"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"edit_control": {
|
||||
"edit_tweet_ids": [
|
||||
"1700101930339721300"
|
||||
],
|
||||
"editable_until_msecs": "1694174461000",
|
||||
"is_edit_eligible": true,
|
||||
"edits_remaining": "5"
|
||||
},
|
||||
"is_translatable": false,
|
||||
"views": {
|
||||
"count": "3840",
|
||||
"state": "EnabledWithCount"
|
||||
},
|
||||
"source": "<a href=\"https://socialabs.net/\" rel=\"nofollow\">OneSight</a>",
|
||||
"legacy": {
|
||||
"bookmark_count": 0,
|
||||
"bookmarked": false,
|
||||
"created_at": "Fri Sep 08 11:01:01 +0000 2023",
|
||||
"conversation_id_str": "1700101930339721300",
|
||||
"display_text_range": [
|
||||
0,
|
||||
46
|
||||
],
|
||||
"entities": {
|
||||
"media": [
|
||||
{
|
||||
"display_url": "pic.twitter.com/EuKz00kTRC",
|
||||
"expanded_url": "https://twitter.com/ChinaDaily/status/1700101930339721300/photo/1",
|
||||
"id_str": "1700099245465022464",
|
||||
"indices": [
|
||||
47,
|
||||
70
|
||||
],
|
||||
"media_url_https": "https://pbs.twimg.com/media/F5f3QZjaMAAG_tC.jpg",
|
||||
"type": "photo",
|
||||
"url": "https://t.co/EuKz00kTRC",
|
||||
"features": {
|
||||
"large": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
},
|
||||
"medium": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
},
|
||||
"small": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 379,
|
||||
"y": 55,
|
||||
"h": 66,
|
||||
"w": 66
|
||||
}
|
||||
]
|
||||
},
|
||||
"orig": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"sizes": {
|
||||
"large": {
|
||||
"h": 606,
|
||||
"w": 929,
|
||||
"resize": "fit"
|
||||
},
|
||||
"medium": {
|
||||
"h": 606,
|
||||
"w": 929,
|
||||
"resize": "fit"
|
||||
},
|
||||
"small": {
|
||||
"h": 444,
|
||||
"w": 680,
|
||||
"resize": "fit"
|
||||
},
|
||||
"thumb": {
|
||||
"h": 150,
|
||||
"w": 150,
|
||||
"resize": "crop"
|
||||
}
|
||||
},
|
||||
"original_info": {
|
||||
"height": 606,
|
||||
"width": 929,
|
||||
"focus_rects": [
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 929,
|
||||
"h": 520
|
||||
},
|
||||
{
|
||||
"x": 276,
|
||||
"y": 0,
|
||||
"w": 606,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 313,
|
||||
"y": 0,
|
||||
"w": 532,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 428,
|
||||
"y": 0,
|
||||
"w": 303,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 929,
|
||||
"h": 606
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"user_mentions": [],
|
||||
"urls": [],
|
||||
"hashtags": [
|
||||
{
|
||||
"indices": [
|
||||
28,
|
||||
46
|
||||
],
|
||||
"text": "ChinaDailyCartoon"
|
||||
}
|
||||
],
|
||||
"symbols": []
|
||||
},
|
||||
"extended_entities": {
|
||||
"media": [
|
||||
{
|
||||
"display_url": "pic.twitter.com/EuKz00kTRC",
|
||||
"expanded_url": "https://twitter.com/ChinaDaily/status/1700101930339721300/photo/1",
|
||||
"id_str": "1700099245465022464",
|
||||
"indices": [
|
||||
47,
|
||||
70
|
||||
],
|
||||
"media_key": "3_1700099245465022464",
|
||||
"media_url_https": "https://pbs.twimg.com/media/F5f3QZjaMAAG_tC.jpg",
|
||||
"type": "photo",
|
||||
"url": "https://t.co/EuKz00kTRC",
|
||||
"ext_media_availability": {
|
||||
"status": "Available"
|
||||
},
|
||||
"features": {
|
||||
"large": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
},
|
||||
"medium": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
},
|
||||
"small": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 379,
|
||||
"y": 55,
|
||||
"h": 66,
|
||||
"w": 66
|
||||
}
|
||||
]
|
||||
},
|
||||
"orig": {
|
||||
"faces": [
|
||||
{
|
||||
"x": 518,
|
||||
"y": 76,
|
||||
"h": 91,
|
||||
"w": 91
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"sizes": {
|
||||
"large": {
|
||||
"h": 606,
|
||||
"w": 929,
|
||||
"resize": "fit"
|
||||
},
|
||||
"medium": {
|
||||
"h": 606,
|
||||
"w": 929,
|
||||
"resize": "fit"
|
||||
},
|
||||
"small": {
|
||||
"h": 444,
|
||||
"w": 680,
|
||||
"resize": "fit"
|
||||
},
|
||||
"thumb": {
|
||||
"h": 150,
|
||||
"w": 150,
|
||||
"resize": "crop"
|
||||
}
|
||||
},
|
||||
"original_info": {
|
||||
"height": 606,
|
||||
"width": 929,
|
||||
"focus_rects": [
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 929,
|
||||
"h": 520
|
||||
},
|
||||
{
|
||||
"x": 276,
|
||||
"y": 0,
|
||||
"w": 606,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 313,
|
||||
"y": 0,
|
||||
"w": 532,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 428,
|
||||
"y": 0,
|
||||
"w": 303,
|
||||
"h": 606
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 929,
|
||||
"h": 606
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"favorite_count": 42,
|
||||
"favorited": false,
|
||||
"full_text": "Freedom of speech in the US #ChinaDailyCartoon https://t.co/EuKz00kTRC",
|
||||
"is_quote_status": false,
|
||||
"lang": "en",
|
||||
"possibly_sensitive": false,
|
||||
"possibly_sensitive_editable": true,
|
||||
"quote_count": 4,
|
||||
"reply_count": 11,
|
||||
"retweet_count": 13,
|
||||
"retweeted": false,
|
||||
"user_id_str": "87775422",
|
||||
"id_str": "1700101930339721300"
|
||||
},
|
||||
"quick_promote_eligibility": {
|
||||
"eligibility": "IneligibleNotProfessional"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tweetDisplayType": "Tweet"
|
||||
},
|
||||
"clientEventInfo": {
|
||||
"component": "related_tweet",
|
||||
"details": {
|
||||
"conversationDetails": {
|
||||
"conversationSection": "RelatedTweet"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"displayType": "Vertical",
|
||||
"header": {
|
||||
"displayType": "Classic",
|
||||
"text": "Discover more",
|
||||
"socialContext": {
|
||||
"type": "TimelineGeneralContext",
|
||||
"contextType": "TextOnly",
|
||||
"text": "Sourced from across Twitter"
|
||||
},
|
||||
"sticky": true
|
||||
},
|
||||
"clientEventInfo": {
|
||||
"component": "related_tweet",
|
||||
"details": {
|
||||
"conversationDetails": {
|
||||
"conversationSection": "RelatedTweet"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "TimelineTerminateTimeline",
|
||||
"direction": "Top"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -6,6 +6,83 @@
|
||||
{
|
||||
"type": "TimelineAddEntries",
|
||||
"entries": [
|
||||
{
|
||||
"entryId": "user-3068516278",
|
||||
"sortIndex": "1776242831014883601",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineItem",
|
||||
"__typename": "TimelineTimelineItem",
|
||||
"itemContent": {
|
||||
"itemType": "TimelineUser",
|
||||
"__typename": "TimelineUser",
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "UserUnavailable",
|
||||
"reason": "NoReason"
|
||||
}
|
||||
},
|
||||
"userDisplayType": "User"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "user-1647526256831787009",
|
||||
"sortIndex": "1771863597721837233",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineItem",
|
||||
"__typename": "TimelineTimelineItem",
|
||||
"itemContent": {
|
||||
"itemType": "TimelineUser",
|
||||
"__typename": "TimelineUser",
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjoxNjQ3NTI2MjU2ODMxNzg3MDA5",
|
||||
"rest_id": "1647526256831787009",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": false,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": false,
|
||||
"can_media_tag": true,
|
||||
"created_at": "Sun Apr 16 09:04:28 +0000 2023",
|
||||
"default_profile": true,
|
||||
"default_profile_image": false,
|
||||
"description": "",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 54,
|
||||
"followers_count": 54,
|
||||
"friends_count": 284,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 3,
|
||||
"location": "",
|
||||
"media_count": 1,
|
||||
"name": "Дмитрий Штепа",
|
||||
"normal_followers_count": 54,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": true,
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1647526604346671105/QtPvr52X_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "stepadmitrij76",
|
||||
"statuses_count": 13,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"userDisplayType": "User"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "user-269941330",
|
||||
"sortIndex": "1768654313616779183",
|
||||
@ -50,16 +127,16 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 182605,
|
||||
"followers_count": 1894,
|
||||
"friends_count": 2009,
|
||||
"favourites_count": 187076,
|
||||
"followers_count": 1929,
|
||||
"friends_count": 2043,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 1,
|
||||
"location": "India",
|
||||
"media_count": 1318,
|
||||
"media_count": 1331,
|
||||
"name": "𝙎𝙖𝙘𝙝𝙞𝙣 𝙍𝙖𝙜𝙝𝙖𝙫 | 🇮🇳 | सचिन राघव |",
|
||||
"normal_followers_count": 1894,
|
||||
"normal_followers_count": 1929,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1346128867824599041"
|
||||
],
|
||||
@ -68,7 +145,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1665323140568977408/ovr3QdTs_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "TheSachinR",
|
||||
"statuses_count": 141017,
|
||||
"statuses_count": 144847,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/UUC9fG9xhC",
|
||||
"verified": false,
|
||||
@ -124,15 +201,15 @@
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 806,
|
||||
"followers_count": 58,
|
||||
"friends_count": 742,
|
||||
"followers_count": 46,
|
||||
"friends_count": 738,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 5,
|
||||
"listed_count": 3,
|
||||
"location": "Calabarzon, Republic of the Ph",
|
||||
"media_count": 18,
|
||||
"name": "Maximo Zarsuelo",
|
||||
"normal_followers_count": 58,
|
||||
"normal_followers_count": 46,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1564827719367806981/1664200434",
|
||||
@ -162,50 +239,8 @@
|
||||
"__typename": "TimelineUser",
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjoxNTQyMzg5MzI3NzExNDIwNDE2",
|
||||
"rest_id": "1542389327711420416",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": false,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": false,
|
||||
"can_media_tag": true,
|
||||
"created_at": "Thu Jun 30 06:07:39 +0000 2022",
|
||||
"default_profile": true,
|
||||
"default_profile_image": false,
|
||||
"description": "",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 1640,
|
||||
"followers_count": 432,
|
||||
"friends_count": 4994,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 10,
|
||||
"location": "",
|
||||
"media_count": 6,
|
||||
"name": "NA&NEW",
|
||||
"normal_followers_count": 432,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1635095769538764801"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1542389327711420416/1683606648",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1677557581873844226/rfmjcs6E_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "NA_N_NEW",
|
||||
"statuses_count": 34008,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
}
|
||||
"__typename": "UserUnavailable",
|
||||
"reason": "NoReason"
|
||||
}
|
||||
},
|
||||
"userDisplayType": "User"
|
||||
@ -240,26 +275,40 @@
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
},
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "ogbonnaChristian.com",
|
||||
"expanded_url": "http://ogbonnaChristian.com",
|
||||
"url": "https://t.co/uizzoMYKu0",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 510,
|
||||
"followers_count": 297,
|
||||
"friends_count": 2290,
|
||||
"favourites_count": 755,
|
||||
"followers_count": 319,
|
||||
"friends_count": 2425,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 7,
|
||||
"location": "",
|
||||
"media_count": 229,
|
||||
"listed_count": 5,
|
||||
"location": "Lagos, Nigeria",
|
||||
"media_count": 318,
|
||||
"name": "MAKOCHUKWU Ogbonna",
|
||||
"normal_followers_count": 297,
|
||||
"normal_followers_count": 319,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1607160599904919552/NR9xwaDx_normal.png",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "MakochukwuO",
|
||||
"statuses_count": 1789,
|
||||
"statuses_count": 2471,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/uizzoMYKu0",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
@ -312,25 +361,25 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 2685,
|
||||
"followers_count": 323,
|
||||
"friends_count": 3324,
|
||||
"favourites_count": 2784,
|
||||
"followers_count": 299,
|
||||
"friends_count": 3430,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 7,
|
||||
"listed_count": 3,
|
||||
"location": "Gainesville, GA",
|
||||
"media_count": 373,
|
||||
"media_count": 377,
|
||||
"name": "Alexander Antonio Velasquez",
|
||||
"normal_followers_count": 323,
|
||||
"normal_followers_count": 299,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1614696753583751170"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1594850010436452356/1685877329",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1594850010436452356/1691014064",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1669369737397035010/eNEO0s6J_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "Alexand68866652",
|
||||
"statuses_count": 3165,
|
||||
"statuses_count": 3235,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
@ -384,22 +433,22 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 33342,
|
||||
"followers_count": 78,
|
||||
"favourites_count": 33204,
|
||||
"followers_count": 64,
|
||||
"friends_count": 45,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 2,
|
||||
"listed_count": 4,
|
||||
"location": "",
|
||||
"media_count": 0,
|
||||
"name": "Maricel Imeno Guerra",
|
||||
"normal_followers_count": 78,
|
||||
"normal_followers_count": 64,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "ImenoGuerra",
|
||||
"statuses_count": 33567,
|
||||
"statuses_count": 33429,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
@ -442,23 +491,23 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 60,
|
||||
"followers_count": 11,
|
||||
"friends_count": 185,
|
||||
"favourites_count": 78,
|
||||
"followers_count": 20,
|
||||
"friends_count": 230,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 1,
|
||||
"location": "",
|
||||
"media_count": 0,
|
||||
"name": "nikstan",
|
||||
"normal_followers_count": 11,
|
||||
"normal_followers_count": 20,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1651439701042032640/1683221648",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1654175248345096193/aSBMbTGx_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "nikstan915411",
|
||||
"statuses_count": 60,
|
||||
"statuses_count": 78,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
@ -494,7 +543,7 @@
|
||||
"created_at": "Tue Apr 05 02:36:13 +0000 2022",
|
||||
"default_profile": true,
|
||||
"default_profile_image": false,
|
||||
"description": "とにかく思った事をツイートしまくります。 まぁ簡単に言うならみんなに報告するとかが近いかな? ちなみにYouTubeやってるぜ。 分かりづらい? すまんな、私の語彙力だと自信持たないんだ()",
|
||||
"description": "とにかく思った事をツイートしまくります。 分かりづらい? 私の語彙力だと自信持たないんだ() ur_next.error←一応こちらがDiscord垢です。 後(自称)あんまりスペースに人が来ない人代表です。 FA→ #おらテストお前が好きなFAやぞ UR_NEXTですがTest_Alpheと呼んで",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
@ -514,25 +563,25 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 92819,
|
||||
"followers_count": 1469,
|
||||
"friends_count": 2169,
|
||||
"favourites_count": 93739,
|
||||
"followers_count": 1458,
|
||||
"friends_count": 2149,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 26,
|
||||
"location": "",
|
||||
"media_count": 9355,
|
||||
"name": "TesAl(私的超低浮上)",
|
||||
"normal_followers_count": 1469,
|
||||
"listed_count": 18,
|
||||
"location": "彼女と付き合ってるけど何か?",
|
||||
"media_count": 9760,
|
||||
"name": "UR_NEXT(低浮上 low floating)",
|
||||
"normal_followers_count": 1458,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1651209658500272129"
|
||||
"1696760262953721947"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1511170661263511555/1688560143",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1675641230053769217/XKQj_TCM_normal.jpg",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1511170661263511555/1693474330",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1680550763226107904/P_44WuH1_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "delete_is_tesal",
|
||||
"statuses_count": 76055,
|
||||
"statuses_count": 78222,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/Eb6A9p9Pkh",
|
||||
"verified": false,
|
||||
@ -594,16 +643,16 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 139631,
|
||||
"followers_count": 1782,
|
||||
"friends_count": 4897,
|
||||
"favourites_count": 138576,
|
||||
"followers_count": 1716,
|
||||
"friends_count": 4852,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 12,
|
||||
"listed_count": 7,
|
||||
"location": "Lafayette, IN",
|
||||
"media_count": 13203,
|
||||
"name": "🧡 Jay Knick 💙💗👾 ✞ Fly☮️Jacob 💕🐾🩷♊️🥇❄️💟💸",
|
||||
"normal_followers_count": 1782,
|
||||
"normal_followers_count": 1716,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1605320037086085120"
|
||||
],
|
||||
@ -612,7 +661,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1640130649351757824/NDcfRogG_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "WattersJacob98",
|
||||
"statuses_count": 132984,
|
||||
"statuses_count": 132258,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/7fWq99yksg",
|
||||
"verified": false,
|
||||
@ -670,21 +719,21 @@
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 4,
|
||||
"followers_count": 186,
|
||||
"friends_count": 518,
|
||||
"followers_count": 196,
|
||||
"friends_count": 524,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 51,
|
||||
"location": "",
|
||||
"media_count": 645,
|
||||
"media_count": 644,
|
||||
"name": "take-ash",
|
||||
"normal_followers_count": 186,
|
||||
"normal_followers_count": 196,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1050898230894944256/cavDbCPg_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "TakeAsh68k",
|
||||
"statuses_count": 73423,
|
||||
"statuses_count": 73565,
|
||||
"translator_type": "none",
|
||||
"url": "http://t.co/fiJx71jtUR",
|
||||
"verified": false,
|
||||
@ -741,16 +790,16 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 91940,
|
||||
"followers_count": 863,
|
||||
"friends_count": 2573,
|
||||
"favourites_count": 94524,
|
||||
"followers_count": 868,
|
||||
"friends_count": 2593,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 39,
|
||||
"listed_count": 38,
|
||||
"location": "マブイはコザに置いてきた(体は東京)",
|
||||
"media_count": 11242,
|
||||
"media_count": 11409,
|
||||
"name": "おーとり@旧API不可後発信専用垢",
|
||||
"normal_followers_count": 863,
|
||||
"normal_followers_count": 868,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1677135198989996032"
|
||||
],
|
||||
@ -759,7 +808,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/766679205119524864/2b1wk3Xn_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "Penpen55",
|
||||
"statuses_count": 255075,
|
||||
"statuses_count": 257978,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/nivgJAXN5c",
|
||||
"verified": false,
|
||||
@ -826,16 +875,16 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 411,
|
||||
"followers_count": 557,
|
||||
"friends_count": 658,
|
||||
"favourites_count": 424,
|
||||
"followers_count": 554,
|
||||
"friends_count": 666,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 48,
|
||||
"location": "川崎の中くらい",
|
||||
"media_count": 16867,
|
||||
"media_count": 17109,
|
||||
"name": "黒江 蒼",
|
||||
"normal_followers_count": 557,
|
||||
"normal_followers_count": 554,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1157684697792598017"
|
||||
],
|
||||
@ -844,7 +893,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1563859805923598337/drnbuN6Z_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "xlazulite",
|
||||
"statuses_count": 650489,
|
||||
"statuses_count": 656043,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/ZUf3EHM2ww",
|
||||
"verified": false,
|
||||
@ -857,67 +906,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "user-249802981",
|
||||
"sortIndex": "1764435287358783107",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineItem",
|
||||
"__typename": "TimelineTimelineItem",
|
||||
"itemContent": {
|
||||
"itemType": "TimelineUser",
|
||||
"__typename": "TimelineUser",
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjoyNDk4MDI5ODE=",
|
||||
"rest_id": "249802981",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": false,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": false,
|
||||
"can_media_tag": false,
|
||||
"created_at": "Wed Feb 09 20:26:40 +0000 2011",
|
||||
"default_profile": false,
|
||||
"default_profile_image": false,
|
||||
"description": "We're not that strength which in old days moved earth and heaven.",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 2839,
|
||||
"followers_count": 310,
|
||||
"friends_count": 346,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 26,
|
||||
"location": "Sur la mer salée",
|
||||
"media_count": 134,
|
||||
"name": "Carib Crypto Cat",
|
||||
"normal_followers_count": 310,
|
||||
"pinned_tweet_ids_str": [
|
||||
"621248227510239232"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/249802981/1394873466",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1373574502106423296/7haUcZ4j_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "CaribCryptoCat",
|
||||
"statuses_count": 4581,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"userDisplayType": "User"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "user-2898060684",
|
||||
"sortIndex": "1764415959003797368",
|
||||
@ -972,25 +960,25 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 383,
|
||||
"followers_count": 63,
|
||||
"friends_count": 51,
|
||||
"favourites_count": 386,
|
||||
"followers_count": 58,
|
||||
"friends_count": 56,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 5,
|
||||
"location": "IT園児ニア",
|
||||
"media_count": 2505,
|
||||
"media_count": 2514,
|
||||
"name": "📚もこふぃん🍅",
|
||||
"normal_followers_count": 63,
|
||||
"normal_followers_count": 58,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1287026470804549633"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2898060684/1685160543",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1662309998079377408/ehuJ40zL_normal.jpg",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2898060684/1692538118",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1693254152020008960/MF5APPYp_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "mocoffin",
|
||||
"statuses_count": 115757,
|
||||
"statuses_count": 117051,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/2v4v7DW3pa",
|
||||
"verified": false,
|
||||
@ -1027,7 +1015,7 @@
|
||||
"created_at": "Wed Mar 30 18:45:44 +0000 2016",
|
||||
"default_profile": false,
|
||||
"default_profile_image": false,
|
||||
"description": "",
|
||||
"description": "Lorem Ipsum",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
@ -1035,9 +1023,9 @@
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "linktr.ee/UMSfess",
|
||||
"expanded_url": "https://linktr.ee/UMSfess",
|
||||
"url": "https://t.co/daIHWwx2sG",
|
||||
"display_url": "instagram.com/sebelah.jalan",
|
||||
"expanded_url": "http://instagram.com/sebelah.jalan",
|
||||
"url": "https://t.co/HRuPxsy0Za",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
@ -1047,29 +1035,39 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 111,
|
||||
"followers_count": 2661,
|
||||
"friends_count": 1474,
|
||||
"favourites_count": 128,
|
||||
"followers_count": 2651,
|
||||
"friends_count": 1571,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 2,
|
||||
"listed_count": 1,
|
||||
"location": "Goa Hiro",
|
||||
"media_count": 133,
|
||||
"media_count": 170,
|
||||
"name": "emka",
|
||||
"normal_followers_count": 2661,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1622390332217520128"
|
||||
],
|
||||
"normal_followers_count": 2651,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1421104237937795079/umKQFXEn_normal.jpg",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/715248663623131136/1692763023",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1695047193995186176/hxH4W9Pz_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "sebelahjalan",
|
||||
"statuses_count": 6072,
|
||||
"statuses_count": 6836,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/daIHWwx2sG",
|
||||
"url": "https://t.co/HRuPxsy0Za",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
},
|
||||
"professional": {
|
||||
"rest_id": "1697146034210873373",
|
||||
"professional_type": "Business",
|
||||
"category": [
|
||||
{
|
||||
"id": 97,
|
||||
"name": "Marine",
|
||||
"icon_name": "IconBriefcaseStroke"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1121,16 +1119,16 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 18629,
|
||||
"followers_count": 50,
|
||||
"friends_count": 431,
|
||||
"favourites_count": 18643,
|
||||
"followers_count": 54,
|
||||
"friends_count": 433,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 4,
|
||||
"location": "Vancouver, British Columbia",
|
||||
"media_count": 396,
|
||||
"name": "miew : หมิว 🍁",
|
||||
"normal_followers_count": 50,
|
||||
"normal_followers_count": 54,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1656138308915957761"
|
||||
],
|
||||
@ -1139,7 +1137,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1621386345951408128/rs8Ph7Cw_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "miewliie",
|
||||
"statuses_count": 34078,
|
||||
"statuses_count": 34066,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/P1s6ZA8AsD",
|
||||
"verified": false,
|
||||
@ -1184,15 +1182,15 @@
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 0,
|
||||
"followers_count": 7,
|
||||
"friends_count": 74,
|
||||
"followers_count": 8,
|
||||
"friends_count": 102,
|
||||
"has_custom_timelines": false,
|
||||
"is_translator": false,
|
||||
"listed_count": 0,
|
||||
"location": "Kowloon, Hong Kong",
|
||||
"media_count": 1,
|
||||
"name": "spidermann12139",
|
||||
"normal_followers_count": 7,
|
||||
"normal_followers_count": 8,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1651154008000843776/Nyt-2G3k_normal.jpg",
|
||||
@ -1259,7 +1257,7 @@
|
||||
"is_translator": false,
|
||||
"listed_count": 0,
|
||||
"location": "",
|
||||
"media_count": 2,
|
||||
"media_count": 3,
|
||||
"name": "Mnitor Pilot",
|
||||
"normal_followers_count": 3,
|
||||
"pinned_tweet_ids_str": [],
|
||||
@ -1267,7 +1265,7 @@
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/655000706022252544/sncqa0Z6_normal.png",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "MnitorDApp",
|
||||
"statuses_count": 29,
|
||||
"statuses_count": 30,
|
||||
"translator_type": "none",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
@ -1303,27 +1301,36 @@
|
||||
"created_at": "Wed May 02 05:04:17 +0000 2007",
|
||||
"default_profile": false,
|
||||
"default_profile_image": false,
|
||||
"description": "(「=・ω・=)「ガオー 名古屋のゆるふわホワイトタイガー。記録するのが趣味です。ゆるふわITエンジニア。 / マストドンに移行中 → https://t.co/jrFFlXlWTo / nilabの半分はbotでできています。ごろごろ寝てるのしあわせ(*=´ω`=*)",
|
||||
"description": "(「=・ω・=)「ガオー 名古屋のゆるふわホワイトタイガー。記録するのが趣味です。ゆるふわITエンジニア。最近のメインはマストドン → https://t.co/qyvrU05Z8G / 過去ログ → https://t.co/9ylDmczJwb",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "mastodon-japan.net/@nilab",
|
||||
"expanded_url": "https://mastodon-japan.net/@nilab",
|
||||
"url": "https://t.co/jrFFlXlWTo",
|
||||
"expanded_url": "http://mastodon-japan.net/@nilab",
|
||||
"url": "https://t.co/qyvrU05Z8G",
|
||||
"indices": [
|
||||
69,
|
||||
92
|
||||
]
|
||||
},
|
||||
{
|
||||
"display_url": "nilab.info/nilog/",
|
||||
"expanded_url": "http://www.nilab.info/nilog/",
|
||||
"url": "https://t.co/9ylDmczJwb",
|
||||
"indices": [
|
||||
102,
|
||||
125
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "nilab.info/nilog/",
|
||||
"expanded_url": "http://www.nilab.info/nilog/",
|
||||
"url": "https://t.co/9ylDmczJwb",
|
||||
"display_url": "nilab.info",
|
||||
"expanded_url": "http://www.nilab.info/",
|
||||
"url": "https://t.co/iPaKlLBORw",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
@ -1333,25 +1340,25 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 215418,
|
||||
"followers_count": 3954,
|
||||
"friends_count": 2357,
|
||||
"favourites_count": 219062,
|
||||
"followers_count": 3958,
|
||||
"friends_count": 2412,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 287,
|
||||
"listed_count": 280,
|
||||
"location": "名古屋",
|
||||
"media_count": 37462,
|
||||
"media_count": 37551,
|
||||
"name": "NI-Lab.",
|
||||
"normal_followers_count": 3954,
|
||||
"normal_followers_count": 3958,
|
||||
"pinned_tweet_ids_str": [],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/5704532/1351904764",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1246056696/zlashdot_profile_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "nilab",
|
||||
"statuses_count": 501177,
|
||||
"statuses_count": 502172,
|
||||
"translator_type": "regular",
|
||||
"url": "https://t.co/9ylDmczJwb",
|
||||
"url": "https://t.co/iPaKlLBORw",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
@ -1363,108 +1370,22 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "user-1292913297277190151",
|
||||
"sortIndex": "1763861852313563488",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineItem",
|
||||
"__typename": "TimelineTimelineItem",
|
||||
"itemContent": {
|
||||
"itemType": "TimelineUser",
|
||||
"__typename": "TimelineUser",
|
||||
"user_results": {
|
||||
"result": {
|
||||
"__typename": "User",
|
||||
"id": "VXNlcjoxMjkyOTEzMjk3Mjc3MTkwMTUx",
|
||||
"rest_id": "1292913297277190151",
|
||||
"affiliates_highlighted_label": {},
|
||||
"has_graduated_access": true,
|
||||
"is_blue_verified": true,
|
||||
"profile_image_shape": "Circle",
|
||||
"legacy": {
|
||||
"can_dm": false,
|
||||
"can_media_tag": false,
|
||||
"created_at": "Mon Aug 10 19:58:53 +0000 2020",
|
||||
"default_profile": true,
|
||||
"default_profile_image": false,
|
||||
"description": "Pay $39.99 a Year or One Time Fee Powered by @SDYPDigital | Now OPEN Latigo Music Support : @LatigoMGSupport 📩 NOW OPEN FOR ALL!!!!",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
},
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "latigomusicgroup.com",
|
||||
"expanded_url": "https://latigomusicgroup.com",
|
||||
"url": "https://t.co/ggxINFv6i2",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 21267,
|
||||
"followers_count": 617,
|
||||
"friends_count": 98,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 5,
|
||||
"location": "Latigo Music HQ",
|
||||
"media_count": 117,
|
||||
"name": "Latigo Music Group",
|
||||
"normal_followers_count": 617,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1661335424646762497"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1292913297277190151/1686432323",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1585833971069472768/fuoqXWPu_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "LatigoMG",
|
||||
"statuses_count": 2380,
|
||||
"translator_type": "none",
|
||||
"url": "https://t.co/ggxINFv6i2",
|
||||
"verified": false,
|
||||
"want_retweets": false,
|
||||
"withheld_in_countries": []
|
||||
},
|
||||
"professional": {
|
||||
"rest_id": "1470129916448579592",
|
||||
"professional_type": "Business",
|
||||
"category": [
|
||||
{
|
||||
"id": 477,
|
||||
"name": "Professional Services",
|
||||
"icon_name": "IconBriefcaseStroke"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"userDisplayType": "User"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "cursor-top-1768654313616779184",
|
||||
"sortIndex": "1768654313616779184",
|
||||
"entryId": "cursor-top-1776242831014883602",
|
||||
"sortIndex": "1776242831014883602",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineCursor",
|
||||
"__typename": "TimelineTimelineCursor",
|
||||
"value": "HCbenrnZx+7CizEAAA==",
|
||||
"value": "HCaixM+XtNy9pjEAAA==",
|
||||
"cursorType": "Top"
|
||||
}
|
||||
},
|
||||
{
|
||||
"entryId": "cursor-bottom-1763861852313563487",
|
||||
"sortIndex": "1763861852313563487",
|
||||
"entryId": "cursor-bottom-1763975753744339445",
|
||||
"sortIndex": "1763975753744339445",
|
||||
"content": {
|
||||
"entryType": "TimelineTimelineCursor",
|
||||
"__typename": "TimelineTimelineCursor",
|
||||
"value": "HBbAxZnAzMC/+jAAAA==",
|
||||
"value": "HBbsx6qlxKbz+jAAAA==",
|
||||
"cursorType": "Bottom",
|
||||
"stopOnEmptyResponse": true
|
||||
}
|
||||
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -8,13 +8,13 @@
|
||||
"affiliates_highlighted_label": {
|
||||
"label": {
|
||||
"url": {
|
||||
"url": "https://twitter.com/Twitter",
|
||||
"url": "https://twitter.com/X",
|
||||
"urlType": "DeepLink"
|
||||
},
|
||||
"badge": {
|
||||
"url": "https://pbs.twimg.com/profile_images/1488548719062654976/u6qfBBkF_bigger.jpg"
|
||||
"url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg"
|
||||
},
|
||||
"description": "Twitter",
|
||||
"description": "X",
|
||||
"userLabelType": "BusinessLabel",
|
||||
"userLabelDisplayType": "Badge"
|
||||
}
|
||||
@ -28,7 +28,7 @@
|
||||
"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.",
|
||||
"description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
@ -36,9 +36,9 @@
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "developer.twitter.com/en/community",
|
||||
"expanded_url": "https://developer.twitter.com/en/community",
|
||||
"url": "https://t.co/9wI31m3ELF",
|
||||
"display_url": "developer.twitter.com",
|
||||
"expanded_url": "https://developer.twitter.com/",
|
||||
"url": "https://t.co/RUXWsqdGk8",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
@ -48,27 +48,27 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 2152,
|
||||
"followers_count": 587135,
|
||||
"friends_count": 1945,
|
||||
"favourites_count": 2078,
|
||||
"followers_count": 590970,
|
||||
"friends_count": 1934,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 2459,
|
||||
"listed_count": 2490,
|
||||
"location": "127.0.0.1",
|
||||
"media_count": 815,
|
||||
"name": "Twitter Dev",
|
||||
"normal_followers_count": 587135,
|
||||
"name": "Developers",
|
||||
"normal_followers_count": 590970,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1661790253886177280"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1660405530",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1445764922474827784/W2zEPN7U_normal.jpg",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "TwitterDev",
|
||||
"statuses_count": 4080,
|
||||
"screen_name": "XDevelopers",
|
||||
"statuses_count": 4053,
|
||||
"translator_type": "regular",
|
||||
"url": "https://t.co/9wI31m3ELF",
|
||||
"url": "https://t.co/RUXWsqdGk8",
|
||||
"verified": false,
|
||||
"verified_type": "Business",
|
||||
"want_retweets": false,
|
||||
|
||||
@ -8,13 +8,13 @@
|
||||
"affiliates_highlighted_label": {
|
||||
"label": {
|
||||
"url": {
|
||||
"url": "https://twitter.com/Twitter",
|
||||
"url": "https://twitter.com/X",
|
||||
"urlType": "DeepLink"
|
||||
},
|
||||
"badge": {
|
||||
"url": "https://pbs.twimg.com/profile_images/1488548719062654976/u6qfBBkF_bigger.jpg"
|
||||
"url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg"
|
||||
},
|
||||
"description": "Twitter",
|
||||
"description": "X",
|
||||
"userLabelType": "BusinessLabel",
|
||||
"userLabelDisplayType": "Badge"
|
||||
}
|
||||
@ -28,7 +28,7 @@
|
||||
"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.",
|
||||
"description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.",
|
||||
"entities": {
|
||||
"description": {
|
||||
"urls": []
|
||||
@ -36,9 +36,9 @@
|
||||
"url": {
|
||||
"urls": [
|
||||
{
|
||||
"display_url": "developer.twitter.com/en/community",
|
||||
"expanded_url": "https://developer.twitter.com/en/community",
|
||||
"url": "https://t.co/9wI31m3ELF",
|
||||
"display_url": "developer.twitter.com",
|
||||
"expanded_url": "https://developer.twitter.com/",
|
||||
"url": "https://t.co/RUXWsqdGk8",
|
||||
"indices": [
|
||||
0,
|
||||
23
|
||||
@ -48,27 +48,27 @@
|
||||
}
|
||||
},
|
||||
"fast_followers_count": 0,
|
||||
"favourites_count": 2152,
|
||||
"followers_count": 587135,
|
||||
"friends_count": 1945,
|
||||
"favourites_count": 2078,
|
||||
"followers_count": 590970,
|
||||
"friends_count": 1934,
|
||||
"has_custom_timelines": true,
|
||||
"is_translator": false,
|
||||
"listed_count": 2459,
|
||||
"listed_count": 2490,
|
||||
"location": "127.0.0.1",
|
||||
"media_count": 815,
|
||||
"name": "Twitter Dev",
|
||||
"normal_followers_count": 587135,
|
||||
"name": "Developers",
|
||||
"normal_followers_count": 590970,
|
||||
"pinned_tweet_ids_str": [
|
||||
"1661790253886177280"
|
||||
],
|
||||
"possibly_sensitive": false,
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1660405530",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1445764922474827784/W2zEPN7U_normal.jpg",
|
||||
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128",
|
||||
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg",
|
||||
"profile_interstitial_type": "",
|
||||
"screen_name": "TwitterDev",
|
||||
"statuses_count": 4080,
|
||||
"screen_name": "XDevelopers",
|
||||
"statuses_count": 4053,
|
||||
"translator_type": "regular",
|
||||
"url": "https://t.co/9wI31m3ELF",
|
||||
"url": "https://t.co/RUXWsqdGk8",
|
||||
"verified": false,
|
||||
"verified_type": "Business",
|
||||
"want_retweets": false,
|
||||
@ -87,34 +87,27 @@
|
||||
},
|
||||
"smart_blocked_by": false,
|
||||
"smart_blocking": false,
|
||||
"legacy_extended_profile": {
|
||||
"birthdate": {
|
||||
"day": 21,
|
||||
"month": 3,
|
||||
"visibility": "Public",
|
||||
"year_visibility": "Self"
|
||||
}
|
||||
},
|
||||
"legacy_extended_profile": {},
|
||||
"is_profile_translatable": false,
|
||||
"has_hidden_likes_on_profile": false,
|
||||
"verification_info": {
|
||||
"reason": {
|
||||
"description": {
|
||||
"text": "This account is verified because it's an affiliate of @Twitter on Twitter. Learn more",
|
||||
"text": "This account is verified because it's an affiliate of @X on X. Learn more",
|
||||
"entities": [
|
||||
{
|
||||
"from_index": 54,
|
||||
"to_index": 62,
|
||||
"to_index": 56,
|
||||
"ref": {
|
||||
"url": "https://twitter.com/Twitter",
|
||||
"url": "https://twitter.com/X",
|
||||
"url_type": "ExternalUrl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from_index": 75,
|
||||
"to_index": 85,
|
||||
"from_index": 63,
|
||||
"to_index": 73,
|
||||
"ref": {
|
||||
"url": "https://twitter.com/i/twitter_blue_sign_up",
|
||||
"url": "If a Blue Publisher charges readers for content, you’ll need to subscribe directly to their publication to read stories behind their paywall.s",
|
||||
"url_type": "ExternalUrl"
|
||||
}
|
||||
}
|
||||
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -90,7 +90,15 @@ def check_tweet(doc: Tweet | None):
|
||||
assert v.contentType is not None
|
||||
|
||||
if doc.retweetedTweet is not None:
|
||||
try:
|
||||
assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), "content should be full"
|
||||
except AssertionError as e:
|
||||
print('\n' + '-' * 60)
|
||||
print(doc.url)
|
||||
print('1:', doc.rawContent)
|
||||
print('2:', doc.retweetedTweet.rawContent)
|
||||
print('-' * 60)
|
||||
raise e
|
||||
|
||||
check_user(doc.user)
|
||||
|
||||
@ -138,7 +146,7 @@ async def test_user_by_id():
|
||||
doc = await api.user_by_id(2244994945)
|
||||
assert doc is not None
|
||||
assert doc.id == 2244994945
|
||||
assert doc.username == "TwitterDev"
|
||||
assert doc.username == "XDevelopers"
|
||||
|
||||
obj = doc.dict()
|
||||
assert doc.id == obj["id"]
|
||||
@ -153,10 +161,10 @@ async def test_user_by_login():
|
||||
api = API()
|
||||
mock_rep(api, "user_by_login_raw")
|
||||
|
||||
doc = await api.user_by_login("twitterdev")
|
||||
doc = await api.user_by_login("xdevelopers")
|
||||
assert doc is not None
|
||||
assert doc.id == 2244994945
|
||||
assert doc.username == "TwitterDev"
|
||||
assert doc.username == "XDevelopers"
|
||||
|
||||
obj = doc.dict()
|
||||
assert doc.id == obj["id"]
|
||||
@ -291,13 +299,15 @@ async def test_issue_28():
|
||||
|
||||
|
||||
async def test_issue_42():
|
||||
raw = load_mock("_issue_42")
|
||||
files = ["_issue_42", "_issue_42_regr"]
|
||||
for file in files:
|
||||
raw = load_mock(file)
|
||||
doc = parse_tweet(raw, 1665951747842641921)
|
||||
assert doc is not None
|
||||
assert doc.retweetedTweet is not None
|
||||
assert doc.rawContent is not None
|
||||
assert doc.retweetedTweet.rawContent is not None
|
||||
assert doc.rawContent.endswith(doc.retweetedTweet.rawContent)
|
||||
assert doc is not None, f"on {file}"
|
||||
assert doc.retweetedTweet is not None, f"on {file}"
|
||||
assert doc.rawContent is not None, f"on {file}"
|
||||
assert doc.retweetedTweet.rawContent is not None, f"on {file}"
|
||||
assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), f"on {file}"
|
||||
|
||||
|
||||
async def test_issue_56():
|
||||
|
||||
@ -12,7 +12,7 @@ from typing import Generator, Optional
|
||||
import httpx
|
||||
|
||||
from .logger import logger
|
||||
from .utils import find_item, get_or, int_or_none, to_old_rep
|
||||
from .utils import find_item, get_or, int_or, to_old_rep
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -217,7 +217,7 @@ class Tweet(JSONTrait):
|
||||
quotedTweet=Tweet.parse(qt_obj, res) if qt_obj else None,
|
||||
place=Place.parse(obj["place"]) if obj.get("place") else None,
|
||||
coordinates=Coordinates.parse(obj),
|
||||
inReplyToTweetId=int_or_none(obj, "in_reply_to_status_id_str"),
|
||||
inReplyToTweetId=int_or(obj, "in_reply_to_status_id_str"),
|
||||
inReplyToUser=_get_reply_user(obj, res),
|
||||
source=obj.get("source", None),
|
||||
sourceUrl=_get_source_url(obj),
|
||||
@ -228,7 +228,10 @@ class Tweet(JSONTrait):
|
||||
# issue #42 – restore full rt text
|
||||
rt = doc.retweetedTweet
|
||||
if rt is not None and rt.user is not None and doc.rawContent.endswith("…"):
|
||||
prefix = f"RT @{rt.user.username}: "
|
||||
# prefix = f"RT @{rt.user.username}: "
|
||||
# if login changed, old login can be cached in rawContent, so use less strict check
|
||||
prefix = f"RT @"
|
||||
|
||||
rt_msg = f"{prefix}{rt.rawContent}"
|
||||
if doc.rawContent != rt_msg and doc.rawContent.startswith(prefix):
|
||||
doc.rawContent = rt_msg
|
||||
@ -260,7 +263,7 @@ class MediaVideo(JSONTrait):
|
||||
MediaVideoVariant.parse(x) for x in obj["video_info"]["variants"] if "bitrate" in x
|
||||
],
|
||||
duration=obj["video_info"]["duration_millis"],
|
||||
views=int_or_none(obj, "mediaStats.viewCount"),
|
||||
views=int_or(obj, "mediaStats.viewCount"),
|
||||
)
|
||||
|
||||
|
||||
@ -384,7 +387,7 @@ def _first(obj: dict, paths: list[str]):
|
||||
def _get_views(obj: dict, rt_obj: dict):
|
||||
for x in [obj, rt_obj]:
|
||||
for y in ["ext_views.count", "views.count"]:
|
||||
k = int_or_none(x, y)
|
||||
k = int_or(x, y)
|
||||
if k is not None:
|
||||
return k
|
||||
return None
|
||||
|
||||
@ -46,12 +46,12 @@ def get_or(obj: dict, key: str, default_value: T = None) -> Any | T:
|
||||
return obj
|
||||
|
||||
|
||||
def int_or_none(obj: dict, key: str):
|
||||
def int_or(obj: dict, key: str, default_value: int | None = None):
|
||||
try:
|
||||
val = get_or(obj, key)
|
||||
return int(val) if val is not None else None
|
||||
return int(val) if val is not None else default_value
|
||||
except Exception:
|
||||
return None
|
||||
return default_value
|
||||
|
||||
|
||||
# https://stackoverflow.com/a/43184871
|
||||
|
||||
Загрузка…
x
Ссылка в новой задаче
Block a user