x-twitter-scraper 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +3 -3
- data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
- data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
- data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/error.rb +8 -0
- data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
- data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
- data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
- data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
- data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
- data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
- data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
- data/lib/x_twitter_scraper/models/monitor.rb +29 -1
- data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
- data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
- data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
- data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
- data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
- data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
- data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
- data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
- data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
- data/lib/x_twitter_scraper/resources/credits.rb +2 -2
- data/lib/x_twitter_scraper/resources/draws.rb +5 -2
- data/lib/x_twitter_scraper/resources/events.rb +10 -4
- data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
- data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
- data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
- data/lib/x_twitter_scraper/resources/support.rb +5 -0
- data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
- data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
- data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
- data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/lib/x_twitter_scraper.rb +7 -1
- data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
- data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
- data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/error.rbi +40 -0
- data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
- data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
- data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
- data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
- data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
- data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
- data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
- data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
- data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
- data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
- data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
- data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
- data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
- data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
- data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
- data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
- data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
- data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
- data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
- data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
- data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
- data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
- data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
- data/sig/x_twitter_scraper/models/error.rbs +16 -0
- data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
- data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
- data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
- data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
- data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
- data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
- data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
- data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
- data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/resources/events.rbs +1 -0
- data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
- data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
- data/sig/x_twitter_scraper/resources/support.rbs +2 -0
- data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
- data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
- metadata +19 -1
|
@@ -10,14 +10,22 @@ module XTwitterScraper
|
|
|
10
10
|
class Extractions
|
|
11
11
|
# Get extraction results
|
|
12
12
|
#
|
|
13
|
-
# @overload retrieve(id, cursor: nil, limit: nil, request_options: {})
|
|
13
|
+
# @overload retrieve(id, cursor: nil, field_style: nil, include_raw: nil, limit: nil, output_mode: nil, output_preset: nil, request_options: {})
|
|
14
14
|
#
|
|
15
15
|
# @param id [String] Extraction public ID (UUID)
|
|
16
16
|
#
|
|
17
|
-
# @param cursor [String]
|
|
17
|
+
# @param cursor [String] Previous nextCursor.
|
|
18
|
+
#
|
|
19
|
+
# @param field_style [Symbol, XTwitterScraper::Models::ExtractionRetrieveParams::FieldStyle] Preserve source keys or convert result field names.
|
|
20
|
+
#
|
|
21
|
+
# @param include_raw [Boolean] Use outputMode=raw instead.
|
|
18
22
|
#
|
|
19
23
|
# @param limit [Integer] Maximum number of results to return (1-1000, default 100)
|
|
20
24
|
#
|
|
25
|
+
# @param output_mode [Symbol, XTwitterScraper::Models::ExtractionRetrieveParams::OutputMode] Select compact, full, or raw-compatible result fields.
|
|
26
|
+
#
|
|
27
|
+
# @param output_preset [Symbol, XTwitterScraper::Models::ExtractionRetrieveParams::OutputPreset] Keep enrichment nested or merge it into each result.
|
|
28
|
+
#
|
|
21
29
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
22
30
|
#
|
|
23
31
|
# @return [XTwitterScraper::Models::ExtractionRetrieveResponse]
|
|
@@ -29,7 +37,12 @@ module XTwitterScraper
|
|
|
29
37
|
@client.request(
|
|
30
38
|
method: :get,
|
|
31
39
|
path: ["extractions/%1$s", id],
|
|
32
|
-
query: query
|
|
40
|
+
query: query.transform_keys(
|
|
41
|
+
field_style: "fieldStyle",
|
|
42
|
+
include_raw: "includeRaw",
|
|
43
|
+
output_mode: "outputMode",
|
|
44
|
+
output_preset: "outputPreset"
|
|
45
|
+
),
|
|
33
46
|
model: XTwitterScraper::Models::ExtractionRetrieveResponse,
|
|
34
47
|
options: options
|
|
35
48
|
)
|
|
@@ -42,7 +55,7 @@ module XTwitterScraper
|
|
|
42
55
|
#
|
|
43
56
|
# @overload list(cursor: nil, limit: nil, status: nil, tool_type: nil, request_options: {})
|
|
44
57
|
#
|
|
45
|
-
# @param cursor [String]
|
|
58
|
+
# @param cursor [String] Previous nextCursor.
|
|
46
59
|
#
|
|
47
60
|
# @param limit [Integer] Maximum number of items to return (1-100, default 50). For paid per-result endpo
|
|
48
61
|
#
|
|
@@ -72,85 +85,199 @@ module XTwitterScraper
|
|
|
72
85
|
#
|
|
73
86
|
# Estimate extraction cost
|
|
74
87
|
#
|
|
75
|
-
# @overload estimate_cost(tool_type:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, search_query: nil, since_date: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
|
|
88
|
+
# @overload estimate_cost(tool_type:, advanced_query: nil, any_words: nil, bio_contains: nil, blue_verified_only: nil, bounding_box: nil, card_name: nil, cashtags: nil, collection_strategy: nil, conversation_id: nil, dedupe_across_targets: nil, dedupe_mode: nil, exact_phrase: nil, exclude_original_author: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, has_location: nil, has_media_only: nil, has_website: nil, include_original_post: nil, include_search_terms: nil, include_target_metadata: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, location_contains: nil, max_depth: nil, max_followers: nil, max_following: nil, max_id: nil, max_items_per_target: nil, max_likes: nil, max_pages_per_target: nil, max_posts: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_account_age_days: nil, min_bookmarks: nil, min_faves: nil, min_followers: nil, min_following: nil, min_posts: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, native_retweets: nil, near: nil, news: nil, overlap_mode: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, relation_targets: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, scope: nil, search_queries: nil, search_query: nil, since_date: nil, since_id: nil, since_time: nil, sort: nil, source: nil, start_cursor: nil, target_community_id: nil, target_community_ids: nil, target_list_id: nil, target_list_ids: nil, targets: nil, target_space_id: nil, target_tweet_id: nil, target_tweet_ids: nil, target_username: nil, target_usernames: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, username_contains: nil, verified_only: nil, verified_type: nil, within: nil, within_time: nil, request_options: {})
|
|
76
89
|
#
|
|
77
90
|
# @param tool_type [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::ToolType] Identifier for the extraction tool used to run a job.
|
|
78
91
|
#
|
|
79
|
-
# @param advanced_query [String] Raw advanced query
|
|
92
|
+
# @param advanced_query [String] Raw advanced search query appended as-is (tweet_search_extractor)
|
|
93
|
+
#
|
|
94
|
+
# @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
|
|
95
|
+
#
|
|
96
|
+
# @param bio_contains [String] Bio terms separated by commas or lines.
|
|
97
|
+
#
|
|
98
|
+
# @param blue_verified_only [Boolean] Return only Blue-verified Tweet authors.
|
|
99
|
+
#
|
|
100
|
+
# @param bounding_box [String] Geo bounding box, e.g. -74.1 40.6 -73.9 40.8 (tweet_search_extractor)
|
|
101
|
+
#
|
|
102
|
+
# @param card_name [String] Match the Tweet card name.
|
|
103
|
+
#
|
|
104
|
+
# @param cashtags [String] Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
105
|
+
#
|
|
106
|
+
# @param collection_strategy [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::CollectionStrategy] Reply collection strategy.
|
|
107
|
+
#
|
|
108
|
+
# @param conversation_id [String] Conversation ID filter (tweet_search_extractor)
|
|
109
|
+
#
|
|
110
|
+
# @param dedupe_across_targets [Boolean] Merge duplicate results across collection targets.
|
|
111
|
+
#
|
|
112
|
+
# @param dedupe_mode [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::DedupeMode] Keep target duplicates, first rows, or merged overlap.
|
|
113
|
+
#
|
|
114
|
+
# @param exact_phrase [String] Exact phrase to match (tweet_search_extractor)
|
|
115
|
+
#
|
|
116
|
+
# @param exclude_original_author [Boolean] Exclude replies from the source author.
|
|
117
|
+
#
|
|
118
|
+
# @param exclude_source [String] Exclude a source application.
|
|
119
|
+
#
|
|
120
|
+
# @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines. (twe
|
|
121
|
+
#
|
|
122
|
+
# @param from_user [String] Filter by author username (tweet_search_extractor)
|
|
123
|
+
#
|
|
124
|
+
# @param geocode [String] Match latitude, longitude, and radius.
|
|
125
|
+
#
|
|
126
|
+
# @param hashtags [String] Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
127
|
+
#
|
|
128
|
+
# @param has_location [Boolean] Require a profile location.
|
|
129
|
+
#
|
|
130
|
+
# @param has_media_only [Boolean] Return only replies with media.
|
|
131
|
+
#
|
|
132
|
+
# @param has_website [Boolean] Require a profile website.
|
|
133
|
+
#
|
|
134
|
+
# @param include_original_post [Boolean] Include the source post in reply results.
|
|
135
|
+
#
|
|
136
|
+
# @param include_search_terms [Boolean] Add matching search terms to collection metadata.
|
|
137
|
+
#
|
|
138
|
+
# @param include_target_metadata [Boolean] Add source target metadata to each result.
|
|
139
|
+
#
|
|
140
|
+
# @param in_reply_to_tweet_id [String] Only replies to this tweet ID (tweet_search_extractor)
|
|
141
|
+
#
|
|
142
|
+
# @param language [String] Language code filter (tweet_search_extractor)
|
|
80
143
|
#
|
|
81
|
-
# @param
|
|
144
|
+
# @param list_id [String] Search within a list ID (tweet_search_extractor)
|
|
82
145
|
#
|
|
83
|
-
# @param
|
|
146
|
+
# @param location_contains [String] Required profile location text.
|
|
84
147
|
#
|
|
85
|
-
# @param
|
|
148
|
+
# @param max_depth [Integer] Maximum nested reply depth.
|
|
86
149
|
#
|
|
87
|
-
# @param
|
|
150
|
+
# @param max_followers [Integer] Maximum follower count for profile results.
|
|
88
151
|
#
|
|
89
|
-
# @param
|
|
152
|
+
# @param max_following [Integer] Maximum following count for profile results.
|
|
90
153
|
#
|
|
91
|
-
# @param
|
|
154
|
+
# @param max_id [String] Return Tweets older than this Tweet ID.
|
|
92
155
|
#
|
|
93
|
-
# @param
|
|
156
|
+
# @param max_items_per_target [Integer] Maximum results collected for each target.
|
|
94
157
|
#
|
|
95
|
-
# @param
|
|
158
|
+
# @param max_likes [Integer] Maximum Tweet like count.
|
|
96
159
|
#
|
|
97
|
-
# @param
|
|
160
|
+
# @param max_pages_per_target [Integer] Reply pages collected for each target.
|
|
98
161
|
#
|
|
99
|
-
# @param
|
|
162
|
+
# @param max_posts [Integer] Maximum post count for profile results.
|
|
100
163
|
#
|
|
101
|
-
# @param
|
|
164
|
+
# @param max_quotes [Integer] Maximum Tweet quote count.
|
|
102
165
|
#
|
|
103
|
-
# @param
|
|
166
|
+
# @param max_replies [Integer] Maximum Tweet reply count.
|
|
104
167
|
#
|
|
105
|
-
# @param
|
|
168
|
+
# @param max_retweets [Integer] Maximum Tweet repost count.
|
|
106
169
|
#
|
|
107
|
-
# @param
|
|
170
|
+
# @param media_type [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::MediaType] Media type filter (tweet_search_extractor)
|
|
108
171
|
#
|
|
109
|
-
# @param
|
|
172
|
+
# @param mentioning [String] Filter tweets mentioning a username (tweet_search_extractor)
|
|
110
173
|
#
|
|
111
|
-
# @param
|
|
174
|
+
# @param min_account_age_days [Integer] Minimum profile age in days.
|
|
112
175
|
#
|
|
113
|
-
# @param
|
|
176
|
+
# @param min_bookmarks [Integer] Minimum Tweet bookmark count.
|
|
114
177
|
#
|
|
115
|
-
# @param
|
|
178
|
+
# @param min_faves [Integer] Minimum likes threshold (tweet_search_extractor)
|
|
116
179
|
#
|
|
117
|
-
# @param
|
|
180
|
+
# @param min_followers [Integer] Minimum follower count for profile results.
|
|
118
181
|
#
|
|
119
|
-
# @param
|
|
182
|
+
# @param min_following [Integer] Minimum following count for profile results.
|
|
120
183
|
#
|
|
121
|
-
# @param
|
|
184
|
+
# @param min_posts [Integer] Minimum post count for profile results.
|
|
122
185
|
#
|
|
123
|
-
# @param
|
|
186
|
+
# @param min_quotes [Integer] Minimum quote count threshold (tweet_search_extractor)
|
|
124
187
|
#
|
|
125
|
-
# @param
|
|
188
|
+
# @param min_replies [Integer] Minimum replies threshold (tweet_search_extractor)
|
|
126
189
|
#
|
|
127
|
-
# @param
|
|
190
|
+
# @param min_retweets [Integer] Minimum retweets threshold (tweet_search_extractor)
|
|
191
|
+
#
|
|
192
|
+
# @param min_views [Integer] Minimum Tweet view count.
|
|
193
|
+
#
|
|
194
|
+
# @param native_retweets [Boolean] Only return native reposts.
|
|
128
195
|
#
|
|
129
|
-
# @param
|
|
196
|
+
# @param near [String] Match a place name.
|
|
130
197
|
#
|
|
131
|
-
# @param
|
|
198
|
+
# @param news [Boolean] Only return news results.
|
|
132
199
|
#
|
|
133
|
-
# @param
|
|
200
|
+
# @param overlap_mode [Boolean] Shortcut for dedupeMode=merge.
|
|
134
201
|
#
|
|
135
|
-
# @param
|
|
202
|
+
# @param place [String] Search within a place ID (tweet_search_extractor)
|
|
136
203
|
#
|
|
137
|
-
# @param
|
|
204
|
+
# @param place_country [String] Search within a country code (tweet_search_extractor)
|
|
138
205
|
#
|
|
139
|
-
# @param
|
|
206
|
+
# @param point_radius [String] Geo point radius, e.g. -73.99 40.73 25mi (tweet_search_extractor)
|
|
140
207
|
#
|
|
141
|
-
# @param
|
|
208
|
+
# @param query_type [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::QueryType] Search ranking applied to every query.
|
|
209
|
+
#
|
|
210
|
+
# @param quotes [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Quotes] Quote mode (tweet_search_extractor)
|
|
211
|
+
#
|
|
212
|
+
# @param quotes_of_tweet_id [String] Only quotes of this tweet ID (tweet_search_extractor)
|
|
213
|
+
#
|
|
214
|
+
# @param relation_targets [Array<XTwitterScraper::Models::ExtractionEstimateCostParams::RelationTarget>] Profile relations processed within one job.
|
|
215
|
+
#
|
|
216
|
+
# @param replies [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Replies] Reply mode (tweet_search_extractor)
|
|
217
|
+
#
|
|
218
|
+
# @param results_limit [Integer] Maximum number of results to extract. When set, the extraction stops after reach
|
|
219
|
+
#
|
|
220
|
+
# @param retweets [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Retweets] Retweet mode (tweet_search_extractor)
|
|
221
|
+
#
|
|
222
|
+
# @param retweets_of_tweet_id [String] Only retweets of this tweet ID (tweet_search_extractor)
|
|
223
|
+
#
|
|
224
|
+
# @param safe [Boolean] Enable the safe-search filter.
|
|
225
|
+
#
|
|
226
|
+
# @param scope [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Scope] Reply depth scope.
|
|
227
|
+
#
|
|
228
|
+
# @param search_queries [Array<String>] Search queries processed as one collection job.
|
|
229
|
+
#
|
|
230
|
+
# @param search_query [String] Required for tweet_search_extractor & community_search.
|
|
231
|
+
#
|
|
232
|
+
# @param since_date [Date] Start date YYYY-MM-DD (tweet_search_extractor)
|
|
233
|
+
#
|
|
234
|
+
# @param since_id [String] Return Tweets newer than this Tweet ID.
|
|
235
|
+
#
|
|
236
|
+
# @param since_time [Time, Integer] Reply start time as ISO 8601 or Unix seconds.
|
|
237
|
+
#
|
|
238
|
+
# @param sort [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Sort] Reply result order.
|
|
239
|
+
#
|
|
240
|
+
# @param source [String] Match the source application.
|
|
241
|
+
#
|
|
242
|
+
# @param start_cursor [String] Resume one reply target from this cursor.
|
|
243
|
+
#
|
|
244
|
+
# @param target_community_id [String] Required for community_post_extractor & community_search.
|
|
245
|
+
#
|
|
246
|
+
# @param target_community_ids [Array<String>] Community IDs processed as one collection job.
|
|
247
|
+
#
|
|
248
|
+
# @param target_list_id [String] Required for list_follower_explorer, list_member_extractor & list_post_extractor
|
|
249
|
+
#
|
|
250
|
+
# @param target_list_ids [Array<String>] List IDs processed as one collection job.
|
|
251
|
+
#
|
|
252
|
+
# @param targets [Array<String, XTwitterScraper::Models::ExtractionEstimateCostParams::Target::UnionMember1>] Mixed targets auto-routed within one job.
|
|
253
|
+
#
|
|
254
|
+
# @param target_space_id [String] Required for space_explorer.
|
|
142
255
|
#
|
|
143
256
|
# @param target_tweet_id [String]
|
|
144
257
|
#
|
|
258
|
+
# @param target_tweet_ids [Array<String>] Tweet IDs processed as one collection job.
|
|
259
|
+
#
|
|
145
260
|
# @param target_username [String]
|
|
146
261
|
#
|
|
147
|
-
# @param
|
|
262
|
+
# @param target_usernames [Array<String>] Usernames processed as one collection job.
|
|
148
263
|
#
|
|
149
|
-
# @param
|
|
264
|
+
# @param to_user [String] Filter replies sent to a username (tweet_search_extractor)
|
|
150
265
|
#
|
|
151
|
-
# @param
|
|
266
|
+
# @param until_date [Date] End date YYYY-MM-DD (tweet_search_extractor)
|
|
267
|
+
#
|
|
268
|
+
# @param until_time [Time, Integer] Reply end time as ISO 8601 or Unix seconds.
|
|
269
|
+
#
|
|
270
|
+
# @param url [String] URL substring or domain filter (tweet_search_extractor)
|
|
271
|
+
#
|
|
272
|
+
# @param username_contains [String] Required username text.
|
|
152
273
|
#
|
|
153
|
-
# @param verified_only [Boolean]
|
|
274
|
+
# @param verified_only [Boolean] Only verified authors (tweet_search_extractor)
|
|
275
|
+
#
|
|
276
|
+
# @param verified_type [String] Exact profile verification type.
|
|
277
|
+
#
|
|
278
|
+
# @param within [String] Set the radius for the near filter.
|
|
279
|
+
#
|
|
280
|
+
# @param within_time [String] Match Tweets inside a recent time window.
|
|
154
281
|
#
|
|
155
282
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
156
283
|
#
|
|
@@ -170,12 +297,48 @@ module XTwitterScraper
|
|
|
170
297
|
|
|
171
298
|
# Export extraction results
|
|
172
299
|
#
|
|
173
|
-
# @overload export_results(id, format_:, request_options: {})
|
|
300
|
+
# @overload export_results(id, format_:, has_description: nil, has_location: nil, has_media: nil, lang: nil, max_followers: nil, max_following: nil, max_posts: nil, min_followers: nil, min_following: nil, min_likes: nil, min_posts: nil, min_replies: nil, min_retweets: nil, min_views: nil, search: nil, since_date: nil, until_date: nil, verified: nil, request_options: {})
|
|
174
301
|
#
|
|
175
302
|
# @param id [String] Extraction public ID
|
|
176
303
|
#
|
|
177
304
|
# @param format_ [Symbol, XTwitterScraper::Models::ExtractionExportResultsParams::Format] Export file format
|
|
178
305
|
#
|
|
306
|
+
# @param has_description [Boolean] Require a non-empty description.
|
|
307
|
+
#
|
|
308
|
+
# @param has_location [Boolean] Require a non-empty location.
|
|
309
|
+
#
|
|
310
|
+
# @param has_media [Boolean] Require media.
|
|
311
|
+
#
|
|
312
|
+
# @param lang [String] Filter by language code.
|
|
313
|
+
#
|
|
314
|
+
# @param max_followers [Integer] Maximum follower count.
|
|
315
|
+
#
|
|
316
|
+
# @param max_following [Integer] Maximum following count.
|
|
317
|
+
#
|
|
318
|
+
# @param max_posts [Integer] Maximum post count.
|
|
319
|
+
#
|
|
320
|
+
# @param min_followers [Integer] Minimum follower count.
|
|
321
|
+
#
|
|
322
|
+
# @param min_following [Integer] Minimum following count.
|
|
323
|
+
#
|
|
324
|
+
# @param min_likes [Integer] Minimum like count.
|
|
325
|
+
#
|
|
326
|
+
# @param min_posts [Integer] Minimum post count.
|
|
327
|
+
#
|
|
328
|
+
# @param min_replies [Integer] Minimum reply count.
|
|
329
|
+
#
|
|
330
|
+
# @param min_retweets [Integer] Minimum repost count.
|
|
331
|
+
#
|
|
332
|
+
# @param min_views [Integer] Minimum view count.
|
|
333
|
+
#
|
|
334
|
+
# @param search [String] Search exported result text.
|
|
335
|
+
#
|
|
336
|
+
# @param since_date [Date] Include results on or after this date.
|
|
337
|
+
#
|
|
338
|
+
# @param until_date [Date] Include results on or before this date.
|
|
339
|
+
#
|
|
340
|
+
# @param verified [Boolean] Filter by verified status.
|
|
341
|
+
#
|
|
179
342
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
180
343
|
#
|
|
181
344
|
# @return [StringIO]
|
|
@@ -187,7 +350,24 @@ module XTwitterScraper
|
|
|
187
350
|
@client.request(
|
|
188
351
|
method: :get,
|
|
189
352
|
path: ["extractions/%1$s/export", id],
|
|
190
|
-
query: query.transform_keys(
|
|
353
|
+
query: query.transform_keys(
|
|
354
|
+
format_: "format",
|
|
355
|
+
has_description: "hasDescription",
|
|
356
|
+
has_location: "hasLocation",
|
|
357
|
+
has_media: "hasMedia",
|
|
358
|
+
max_followers: "maxFollowers",
|
|
359
|
+
max_following: "maxFollowing",
|
|
360
|
+
max_posts: "maxPosts",
|
|
361
|
+
min_followers: "minFollowers",
|
|
362
|
+
min_following: "minFollowing",
|
|
363
|
+
min_likes: "minLikes",
|
|
364
|
+
min_posts: "minPosts",
|
|
365
|
+
min_replies: "minReplies",
|
|
366
|
+
min_retweets: "minRetweets",
|
|
367
|
+
min_views: "minViews",
|
|
368
|
+
since_date: "sinceDate",
|
|
369
|
+
until_date: "untilDate"
|
|
370
|
+
),
|
|
191
371
|
headers: {"accept" => "application/octet-stream"},
|
|
192
372
|
model: StringIO,
|
|
193
373
|
options: options
|
|
@@ -199,85 +379,201 @@ module XTwitterScraper
|
|
|
199
379
|
#
|
|
200
380
|
# Run extraction
|
|
201
381
|
#
|
|
202
|
-
# @overload run(tool_type:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, search_query: nil, since_date: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
|
|
382
|
+
# @overload run(tool_type:, dry_run: nil, advanced_query: nil, any_words: nil, bio_contains: nil, blue_verified_only: nil, bounding_box: nil, card_name: nil, cashtags: nil, collection_strategy: nil, conversation_id: nil, dedupe_across_targets: nil, dedupe_mode: nil, exact_phrase: nil, exclude_original_author: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, has_location: nil, has_media_only: nil, has_website: nil, include_original_post: nil, include_search_terms: nil, include_target_metadata: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, location_contains: nil, max_depth: nil, max_followers: nil, max_following: nil, max_id: nil, max_items_per_target: nil, max_likes: nil, max_pages_per_target: nil, max_posts: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_account_age_days: nil, min_bookmarks: nil, min_faves: nil, min_followers: nil, min_following: nil, min_posts: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, native_retweets: nil, near: nil, news: nil, overlap_mode: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, relation_targets: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, scope: nil, search_queries: nil, search_query: nil, since_date: nil, since_id: nil, since_time: nil, sort: nil, source: nil, start_cursor: nil, target_community_id: nil, target_community_ids: nil, target_list_id: nil, target_list_ids: nil, targets: nil, target_space_id: nil, target_tweet_id: nil, target_tweet_ids: nil, target_username: nil, target_usernames: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, username_contains: nil, verified_only: nil, verified_type: nil, within: nil, within_time: nil, request_options: {})
|
|
203
383
|
#
|
|
204
|
-
# @param tool_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::ToolType] Identifier for the extraction tool used to run a job.
|
|
384
|
+
# @param tool_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::ToolType] Body param: Identifier for the extraction tool used to run a job.
|
|
205
385
|
#
|
|
206
|
-
# @param
|
|
386
|
+
# @param dry_run [Boolean] Query param: Estimate cost without creating an extraction.
|
|
207
387
|
#
|
|
208
|
-
# @param
|
|
388
|
+
# @param advanced_query [String] Body param: Raw advanced search query appended as-is (tweet_search_extractor)
|
|
209
389
|
#
|
|
210
|
-
# @param
|
|
390
|
+
# @param any_words [String] Body param: Words or quoted phrases where any one can match. Separate with space
|
|
211
391
|
#
|
|
212
|
-
# @param
|
|
392
|
+
# @param bio_contains [String] Body param: Bio terms separated by commas or lines.
|
|
213
393
|
#
|
|
214
|
-
# @param
|
|
394
|
+
# @param blue_verified_only [Boolean] Body param: Return only Blue-verified Tweet authors.
|
|
215
395
|
#
|
|
216
|
-
# @param
|
|
396
|
+
# @param bounding_box [String] Body param: Geo bounding box, e.g. -74.1 40.6 -73.9 40.8 (tweet_search_extractor
|
|
217
397
|
#
|
|
218
|
-
# @param
|
|
398
|
+
# @param card_name [String] Body param: Match the Tweet card name.
|
|
219
399
|
#
|
|
220
|
-
# @param
|
|
400
|
+
# @param cashtags [String] Body param: Cashtags separated by spaces, commas, or lines. (tweet_search_extrac
|
|
221
401
|
#
|
|
222
|
-
# @param
|
|
402
|
+
# @param collection_strategy [Symbol, XTwitterScraper::Models::ExtractionRunParams::CollectionStrategy] Body param: Reply collection strategy.
|
|
223
403
|
#
|
|
224
|
-
# @param
|
|
404
|
+
# @param conversation_id [String] Body param: Conversation ID filter (tweet_search_extractor)
|
|
225
405
|
#
|
|
226
|
-
# @param
|
|
406
|
+
# @param dedupe_across_targets [Boolean] Body param: Merge duplicate results across collection targets.
|
|
227
407
|
#
|
|
228
|
-
# @param
|
|
408
|
+
# @param dedupe_mode [Symbol, XTwitterScraper::Models::ExtractionRunParams::DedupeMode] Body param: Keep target duplicates, first rows, or merged overlap.
|
|
229
409
|
#
|
|
230
|
-
# @param
|
|
410
|
+
# @param exact_phrase [String] Body param: Exact phrase to match (tweet_search_extractor)
|
|
231
411
|
#
|
|
232
|
-
# @param
|
|
412
|
+
# @param exclude_original_author [Boolean] Body param: Exclude replies from the source author.
|
|
233
413
|
#
|
|
234
|
-
# @param
|
|
414
|
+
# @param exclude_source [String] Body param: Exclude a source application.
|
|
235
415
|
#
|
|
236
|
-
# @param
|
|
416
|
+
# @param exclude_words [String] Body param: Words or quoted phrases to exclude. Separate with spaces, commas, or
|
|
237
417
|
#
|
|
238
|
-
# @param
|
|
418
|
+
# @param from_user [String] Body param: Filter by author username (tweet_search_extractor)
|
|
239
419
|
#
|
|
240
|
-
# @param
|
|
420
|
+
# @param geocode [String] Body param: Match latitude, longitude, and radius.
|
|
241
421
|
#
|
|
242
|
-
# @param
|
|
422
|
+
# @param hashtags [String] Body param: Hashtags separated by spaces, commas, or lines. (tweet_search_extrac
|
|
243
423
|
#
|
|
244
|
-
# @param
|
|
424
|
+
# @param has_location [Boolean] Body param: Require a profile location.
|
|
245
425
|
#
|
|
246
|
-
# @param
|
|
426
|
+
# @param has_media_only [Boolean] Body param: Return only replies with media.
|
|
247
427
|
#
|
|
248
|
-
# @param
|
|
428
|
+
# @param has_website [Boolean] Body param: Require a profile website.
|
|
249
429
|
#
|
|
250
|
-
# @param
|
|
430
|
+
# @param include_original_post [Boolean] Body param: Include the source post in reply results.
|
|
251
431
|
#
|
|
252
|
-
# @param
|
|
432
|
+
# @param include_search_terms [Boolean] Body param: Add matching search terms to collection metadata.
|
|
253
433
|
#
|
|
254
|
-
# @param
|
|
434
|
+
# @param include_target_metadata [Boolean] Body param: Add source target metadata to each result.
|
|
255
435
|
#
|
|
256
|
-
# @param
|
|
436
|
+
# @param in_reply_to_tweet_id [String] Body param: Only replies to this tweet ID (tweet_search_extractor)
|
|
257
437
|
#
|
|
258
|
-
# @param
|
|
438
|
+
# @param language [String] Body param: Language code filter (tweet_search_extractor)
|
|
259
439
|
#
|
|
260
|
-
# @param
|
|
440
|
+
# @param list_id [String] Body param: Search within a list ID (tweet_search_extractor)
|
|
261
441
|
#
|
|
262
|
-
# @param
|
|
442
|
+
# @param location_contains [String] Body param: Required profile location text.
|
|
263
443
|
#
|
|
264
|
-
# @param
|
|
444
|
+
# @param max_depth [Integer] Body param: Maximum nested reply depth.
|
|
265
445
|
#
|
|
266
|
-
# @param
|
|
446
|
+
# @param max_followers [Integer] Body param: Maximum follower count for profile results.
|
|
267
447
|
#
|
|
268
|
-
# @param
|
|
448
|
+
# @param max_following [Integer] Body param: Maximum following count for profile results.
|
|
269
449
|
#
|
|
270
|
-
# @param
|
|
450
|
+
# @param max_id [String] Body param: Return Tweets older than this Tweet ID.
|
|
271
451
|
#
|
|
272
|
-
# @param
|
|
452
|
+
# @param max_items_per_target [Integer] Body param: Maximum results collected for each target.
|
|
273
453
|
#
|
|
274
|
-
# @param
|
|
454
|
+
# @param max_likes [Integer] Body param: Maximum Tweet like count.
|
|
275
455
|
#
|
|
276
|
-
# @param
|
|
456
|
+
# @param max_pages_per_target [Integer] Body param: Reply pages collected for each target.
|
|
277
457
|
#
|
|
278
|
-
# @param
|
|
458
|
+
# @param max_posts [Integer] Body param: Maximum post count for profile results.
|
|
279
459
|
#
|
|
280
|
-
# @param
|
|
460
|
+
# @param max_quotes [Integer] Body param: Maximum Tweet quote count.
|
|
461
|
+
#
|
|
462
|
+
# @param max_replies [Integer] Body param: Maximum Tweet reply count.
|
|
463
|
+
#
|
|
464
|
+
# @param max_retweets [Integer] Body param: Maximum Tweet repost count.
|
|
465
|
+
#
|
|
466
|
+
# @param media_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::MediaType] Body param: Media type filter (tweet_search_extractor)
|
|
467
|
+
#
|
|
468
|
+
# @param mentioning [String] Body param: Filter tweets mentioning a username (tweet_search_extractor)
|
|
469
|
+
#
|
|
470
|
+
# @param min_account_age_days [Integer] Body param: Minimum profile age in days.
|
|
471
|
+
#
|
|
472
|
+
# @param min_bookmarks [Integer] Body param: Minimum Tweet bookmark count.
|
|
473
|
+
#
|
|
474
|
+
# @param min_faves [Integer] Body param: Minimum likes threshold (tweet_search_extractor)
|
|
475
|
+
#
|
|
476
|
+
# @param min_followers [Integer] Body param: Minimum follower count for profile results.
|
|
477
|
+
#
|
|
478
|
+
# @param min_following [Integer] Body param: Minimum following count for profile results.
|
|
479
|
+
#
|
|
480
|
+
# @param min_posts [Integer] Body param: Minimum post count for profile results.
|
|
481
|
+
#
|
|
482
|
+
# @param min_quotes [Integer] Body param: Minimum quote count threshold (tweet_search_extractor)
|
|
483
|
+
#
|
|
484
|
+
# @param min_replies [Integer] Body param: Minimum replies threshold (tweet_search_extractor)
|
|
485
|
+
#
|
|
486
|
+
# @param min_retweets [Integer] Body param: Minimum retweets threshold (tweet_search_extractor)
|
|
487
|
+
#
|
|
488
|
+
# @param min_views [Integer] Body param: Minimum Tweet view count.
|
|
489
|
+
#
|
|
490
|
+
# @param native_retweets [Boolean] Body param: Only return native reposts.
|
|
491
|
+
#
|
|
492
|
+
# @param near [String] Body param: Match a place name.
|
|
493
|
+
#
|
|
494
|
+
# @param news [Boolean] Body param: Only return news results.
|
|
495
|
+
#
|
|
496
|
+
# @param overlap_mode [Boolean] Body param: Shortcut for dedupeMode=merge.
|
|
497
|
+
#
|
|
498
|
+
# @param place [String] Body param: Search within a place ID (tweet_search_extractor)
|
|
499
|
+
#
|
|
500
|
+
# @param place_country [String] Body param: Search within a country code (tweet_search_extractor)
|
|
501
|
+
#
|
|
502
|
+
# @param point_radius [String] Body param: Geo point radius, e.g. -73.99 40.73 25mi (tweet_search_extractor)
|
|
503
|
+
#
|
|
504
|
+
# @param query_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::QueryType] Body param: Search ranking applied to every query.
|
|
505
|
+
#
|
|
506
|
+
# @param quotes [Symbol, XTwitterScraper::Models::ExtractionRunParams::Quotes] Body param: Quote mode (tweet_search_extractor)
|
|
507
|
+
#
|
|
508
|
+
# @param quotes_of_tweet_id [String] Body param: Only quotes of this tweet ID (tweet_search_extractor)
|
|
509
|
+
#
|
|
510
|
+
# @param relation_targets [Array<XTwitterScraper::Models::ExtractionRunParams::RelationTarget>] Body param: Profile relations processed within one job.
|
|
511
|
+
#
|
|
512
|
+
# @param replies [Symbol, XTwitterScraper::Models::ExtractionRunParams::Replies] Body param: Reply mode (tweet_search_extractor)
|
|
513
|
+
#
|
|
514
|
+
# @param results_limit [Integer] Body param: Maximum number of results to extract. When set, the extraction stops
|
|
515
|
+
#
|
|
516
|
+
# @param retweets [Symbol, XTwitterScraper::Models::ExtractionRunParams::Retweets] Body param: Retweet mode (tweet_search_extractor)
|
|
517
|
+
#
|
|
518
|
+
# @param retweets_of_tweet_id [String] Body param: Only retweets of this tweet ID (tweet_search_extractor)
|
|
519
|
+
#
|
|
520
|
+
# @param safe [Boolean] Body param: Enable the safe-search filter.
|
|
521
|
+
#
|
|
522
|
+
# @param scope [Symbol, XTwitterScraper::Models::ExtractionRunParams::Scope] Body param: Reply depth scope.
|
|
523
|
+
#
|
|
524
|
+
# @param search_queries [Array<String>] Body param: Search queries processed as one collection job.
|
|
525
|
+
#
|
|
526
|
+
# @param search_query [String] Body param: Required for tweet_search_extractor & community_search.
|
|
527
|
+
#
|
|
528
|
+
# @param since_date [Date] Body param: Start date YYYY-MM-DD (tweet_search_extractor)
|
|
529
|
+
#
|
|
530
|
+
# @param since_id [String] Body param: Return Tweets newer than this Tweet ID.
|
|
531
|
+
#
|
|
532
|
+
# @param since_time [Time, Integer] Body param: Reply start time as ISO 8601 or Unix seconds.
|
|
533
|
+
#
|
|
534
|
+
# @param sort [Symbol, XTwitterScraper::Models::ExtractionRunParams::Sort] Body param: Reply result order.
|
|
535
|
+
#
|
|
536
|
+
# @param source [String] Body param: Match the source application.
|
|
537
|
+
#
|
|
538
|
+
# @param start_cursor [String] Body param: Resume one reply target from this cursor.
|
|
539
|
+
#
|
|
540
|
+
# @param target_community_id [String] Body param: Required for community_post_extractor & community_search.
|
|
541
|
+
#
|
|
542
|
+
# @param target_community_ids [Array<String>] Body param: Community IDs processed as one collection job.
|
|
543
|
+
#
|
|
544
|
+
# @param target_list_id [String] Body param: Required for list_follower_explorer, list_member_extractor & list_po
|
|
545
|
+
#
|
|
546
|
+
# @param target_list_ids [Array<String>] Body param: List IDs processed as one collection job.
|
|
547
|
+
#
|
|
548
|
+
# @param targets [Array<String, XTwitterScraper::Models::ExtractionRunParams::Target::UnionMember1>] Body param: Mixed targets auto-routed within one job.
|
|
549
|
+
#
|
|
550
|
+
# @param target_space_id [String] Body param: Required for space_explorer.
|
|
551
|
+
#
|
|
552
|
+
# @param target_tweet_id [String] Body param
|
|
553
|
+
#
|
|
554
|
+
# @param target_tweet_ids [Array<String>] Body param: Tweet IDs processed as one collection job.
|
|
555
|
+
#
|
|
556
|
+
# @param target_username [String] Body param
|
|
557
|
+
#
|
|
558
|
+
# @param target_usernames [Array<String>] Body param: Usernames processed as one collection job.
|
|
559
|
+
#
|
|
560
|
+
# @param to_user [String] Body param: Filter replies sent to a username (tweet_search_extractor)
|
|
561
|
+
#
|
|
562
|
+
# @param until_date [Date] Body param: End date YYYY-MM-DD (tweet_search_extractor)
|
|
563
|
+
#
|
|
564
|
+
# @param until_time [Time, Integer] Body param: Reply end time as ISO 8601 or Unix seconds.
|
|
565
|
+
#
|
|
566
|
+
# @param url [String] Body param: URL substring or domain filter (tweet_search_extractor)
|
|
567
|
+
#
|
|
568
|
+
# @param username_contains [String] Body param: Required username text.
|
|
569
|
+
#
|
|
570
|
+
# @param verified_only [Boolean] Body param: Only verified authors (tweet_search_extractor)
|
|
571
|
+
#
|
|
572
|
+
# @param verified_type [String] Body param: Exact profile verification type.
|
|
573
|
+
#
|
|
574
|
+
# @param within [String] Body param: Set the radius for the near filter.
|
|
575
|
+
#
|
|
576
|
+
# @param within_time [String] Body param: Match Tweets inside a recent time window.
|
|
281
577
|
#
|
|
282
578
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
283
579
|
#
|
|
@@ -285,11 +581,14 @@ module XTwitterScraper
|
|
|
285
581
|
#
|
|
286
582
|
# @see XTwitterScraper::Models::ExtractionRunParams
|
|
287
583
|
def run(params)
|
|
584
|
+
query_params = [:dry_run]
|
|
288
585
|
parsed, options = XTwitterScraper::ExtractionRunParams.dump_request(params)
|
|
586
|
+
query = XTwitterScraper::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
289
587
|
@client.request(
|
|
290
588
|
method: :post,
|
|
291
589
|
path: "extractions",
|
|
292
|
-
|
|
590
|
+
query: query,
|
|
591
|
+
body: parsed.except(*query_params),
|
|
293
592
|
model: XTwitterScraper::Models::ExtractionRunResponse,
|
|
294
593
|
options: options
|
|
295
594
|
)
|