@the-convocation/twitter-scraper 0.1.3 → 0.1.5
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.
- package/README.md +4 -1
- package/dist/api.d.ts +5 -3
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +14 -6
- package/dist/api.js.map +1 -1
- package/dist/auth-user.d.ts +15 -0
- package/dist/auth-user.d.ts.map +1 -0
- package/dist/auth-user.js +216 -0
- package/dist/auth-user.js.map +1 -0
- package/dist/auth.d.ts +45 -25
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +28 -43
- package/dist/auth.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +11 -0
- package/dist/errors.js.map +1 -0
- package/dist/profile.d.ts +3 -3
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +1 -1
- package/dist/profile.js.map +1 -1
- package/dist/scraper.d.ts +50 -4
- package/dist/scraper.d.ts.map +1 -1
- package/dist/scraper.js +92 -8
- package/dist/scraper.js.map +1 -1
- package/dist/search.d.ts +5 -5
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +5 -0
- package/dist/search.js.map +1 -1
- package/dist/timeline-async.d.ts +2 -2
- package/dist/timeline-async.d.ts.map +1 -1
- package/dist/timeline.d.ts +19 -1
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +146 -100
- package/dist/timeline.js.map +1 -1
- package/dist/trends.d.ts +2 -2
- package/dist/trends.d.ts.map +1 -1
- package/dist/trends.js.map +1 -1
- package/dist/tweets.d.ts +19 -5
- package/dist/tweets.d.ts.map +1 -1
- package/dist/tweets.js +58 -10
- package/dist/tweets.js.map +1 -1
- package/package.json +21 -20
package/dist/profile.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestApiResult } from './api';
|
|
2
|
-
import {
|
|
2
|
+
import { TwitterAuth } from './auth';
|
|
3
3
|
export interface LegacyUserRaw {
|
|
4
4
|
created_at?: string;
|
|
5
5
|
description?: string;
|
|
@@ -62,6 +62,6 @@ export interface UserRaw {
|
|
|
62
62
|
}[];
|
|
63
63
|
}
|
|
64
64
|
export declare function parseProfile(user: LegacyUserRaw): Profile;
|
|
65
|
-
export declare function getProfile(username: string, auth:
|
|
66
|
-
export declare function getUserIdByScreenName(screenName: string, auth:
|
|
65
|
+
export declare function getProfile(username: string, auth: TwitterAuth): Promise<RequestApiResult<Profile>>;
|
|
66
|
+
export declare function getUserIdByScreenName(screenName: string, auth: TwitterAuth): Promise<RequestApiResult<string>>;
|
|
67
67
|
//# sourceMappingURL=profile.d.ts.map
|
package/dist/profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC,EAAE;gBACL,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,EAAE,CAAC;SACL,CAAC;KACH,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,aAAa,CAAC;SACvB,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CA+BzD;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CA0CpC;AAID,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAyBnC"}
|
package/dist/profile.js
CHANGED
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAqD;AAmErD,SAAgB,YAAY,CAAC,IAAmB;;IAC9C,MAAM,OAAO,GAAY;QACvB,MAAM,EAAE,IAAI,CAAC,uBAAuB;QACpC,MAAM,EAAE,IAAI,CAAC,kBAAkB;QAC/B,SAAS,EAAE,IAAI,CAAC,WAAW;QAC3B,cAAc,EAAE,IAAI,CAAC,eAAe;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB;QACrC,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,UAAU,EAAE,IAAI,CAAC,gBAAgB;QACjC,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,oBAAoB;QACzC,WAAW,EAAE,IAAI,CAAC,cAAc;QAChC,GAAG,EAAE,uBAAuB,IAAI,CAAC,WAAW,EAAE;QAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,WAAW;KAC3B,CAAC;IAEF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;QAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KACxD;IAED,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,0CAAE,IAAI,CAAC;IACtC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE;QAC5C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;KACxC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA/BD,oCA+BC;AAED,SAAsB,UAAU,CAC9B,QAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Cookie } from 'tough-cookie';
|
|
1
2
|
import { Profile } from './profile';
|
|
2
3
|
import { SearchMode } from './search';
|
|
3
4
|
import { QueryProfilesResponse, QueryTweetsResponse } from './timeline';
|
|
@@ -73,6 +74,22 @@ export declare class Scraper {
|
|
|
73
74
|
* @returns An async generator of tweets from the provided user.
|
|
74
75
|
*/
|
|
75
76
|
getTweets(user: string, maxTweets: number, includeReplies: boolean): AsyncGenerator<Tweet>;
|
|
77
|
+
/**
|
|
78
|
+
* Fetches tweets from a Twitter user using their ID.
|
|
79
|
+
* @param userId The user whose tweets should be returned.
|
|
80
|
+
* @param maxTweets The maximum number of tweets to return.
|
|
81
|
+
* @param includeReplies Whether or not to include tweet replies.
|
|
82
|
+
* @returns An async generator of tweets from the provided user.
|
|
83
|
+
*/
|
|
84
|
+
getTweetsByUserId(userId: string, maxTweets: number, includeReplies: boolean): AsyncGenerator<Tweet>;
|
|
85
|
+
/**
|
|
86
|
+
* Fetches the most recent tweet from a Twitter user.
|
|
87
|
+
* @param user The user whose latest tweet should be returned.
|
|
88
|
+
* @param includeReplies Whether or not to include tweet replies.
|
|
89
|
+
* @param includeRetweets Whether or not to include retweets.
|
|
90
|
+
* @returns The {@link Tweet} object or `null` if it couldn't be fetched.
|
|
91
|
+
*/
|
|
92
|
+
getLatestTweet(user: string, includeReplies: boolean, includeRetweets: boolean): Promise<Tweet | null>;
|
|
76
93
|
/**
|
|
77
94
|
* Fetches a single tweet.
|
|
78
95
|
* @param id The ID of the tweet to fetch.
|
|
@@ -85,18 +102,47 @@ export declare class Scraper {
|
|
|
85
102
|
* @returns `true` if the scraper has a guest token; otherwise `false`.
|
|
86
103
|
*/
|
|
87
104
|
hasGuestToken(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Returns if the scraper is logged in as a real user.
|
|
107
|
+
* @returns `true` if the scraper is logged in with a real user account; otherwise `false`.
|
|
108
|
+
*/
|
|
109
|
+
isLoggedIn(): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Login to Twitter as a real Twitter account. This enables running
|
|
112
|
+
* searches.
|
|
113
|
+
* @param username The username of the Twitter account to login with.
|
|
114
|
+
* @param password The password of the Twitter account to login with.
|
|
115
|
+
* @param email The password to log in with, if you have email confirmation enabled.
|
|
116
|
+
*/
|
|
117
|
+
login(username: string, password: string, email?: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Log out of Twitter.
|
|
120
|
+
*/
|
|
121
|
+
logout(): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Retrieves all cookies for the current session.
|
|
124
|
+
* @returns All cookies for the current session.
|
|
125
|
+
*/
|
|
126
|
+
getCookies(): Promise<Cookie[]>;
|
|
127
|
+
/**
|
|
128
|
+
* Set cookies for the current session.
|
|
129
|
+
* @param cookies The cookies to set for the current session.
|
|
130
|
+
*/
|
|
131
|
+
setCookies(cookies: (string | Cookie)[]): Promise<void>;
|
|
88
132
|
/**
|
|
89
133
|
* Sets the optional cookie to be used in requests.
|
|
90
|
-
* @param
|
|
134
|
+
* @param _cookie The cookie to be used in requests.
|
|
135
|
+
* @deprecated This function no longer represents any part of Twitter's auth flow.
|
|
91
136
|
* @returns This scraper instance.
|
|
92
137
|
*/
|
|
93
|
-
withCookie(
|
|
138
|
+
withCookie(_cookie: string): Scraper;
|
|
94
139
|
/**
|
|
95
140
|
* Sets the optional CSRF token to be used in requests.
|
|
96
|
-
* @param
|
|
141
|
+
* @param _token The CSRF token to be used in requests.
|
|
142
|
+
* @deprecated This function no longer represents any part of Twitter's auth flow.
|
|
97
143
|
* @returns This scraper instance.
|
|
98
144
|
*/
|
|
99
|
-
withXCsrfToken(
|
|
145
|
+
withXCsrfToken(_token: string): Scraper;
|
|
100
146
|
private handleResponse;
|
|
101
147
|
}
|
|
102
148
|
//# sourceMappingURL=scraper.d.ts.map
|
package/dist/scraper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.js
CHANGED
|
@@ -12,10 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.Scraper = void 0;
|
|
13
13
|
const api_1 = require("./api");
|
|
14
14
|
const auth_1 = require("./auth");
|
|
15
|
+
const auth_user_1 = require("./auth-user");
|
|
15
16
|
const profile_1 = require("./profile");
|
|
16
17
|
const search_1 = require("./search");
|
|
17
18
|
const trends_1 = require("./trends");
|
|
18
19
|
const tweets_1 = require("./tweets");
|
|
20
|
+
const twUrl = 'https://twitter.com';
|
|
19
21
|
/**
|
|
20
22
|
* An interface to Twitter's undocumented API.
|
|
21
23
|
* Reusing Scraper objects is recommended to minimize the time spent authenticating unnecessarily.
|
|
@@ -110,6 +112,26 @@ class Scraper {
|
|
|
110
112
|
getTweets(user, maxTweets, includeReplies) {
|
|
111
113
|
return (0, tweets_1.getTweets)(user, maxTweets, includeReplies, this.auth);
|
|
112
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Fetches tweets from a Twitter user using their ID.
|
|
117
|
+
* @param userId The user whose tweets should be returned.
|
|
118
|
+
* @param maxTweets The maximum number of tweets to return.
|
|
119
|
+
* @param includeReplies Whether or not to include tweet replies.
|
|
120
|
+
* @returns An async generator of tweets from the provided user.
|
|
121
|
+
*/
|
|
122
|
+
getTweetsByUserId(userId, maxTweets, includeReplies) {
|
|
123
|
+
return (0, tweets_1.getTweetsByUserId)(userId, maxTweets, includeReplies, this.auth);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Fetches the most recent tweet from a Twitter user.
|
|
127
|
+
* @param user The user whose latest tweet should be returned.
|
|
128
|
+
* @param includeReplies Whether or not to include tweet replies.
|
|
129
|
+
* @param includeRetweets Whether or not to include retweets.
|
|
130
|
+
* @returns The {@link Tweet} object or `null` if it couldn't be fetched.
|
|
131
|
+
*/
|
|
132
|
+
getLatestTweet(user, includeReplies, includeRetweets) {
|
|
133
|
+
return (0, tweets_1.getLatestTweet)(user, includeReplies, includeRetweets, this.auth);
|
|
134
|
+
}
|
|
113
135
|
/**
|
|
114
136
|
* Fetches a single tweet.
|
|
115
137
|
* @param id The ID of the tweet to fetch.
|
|
@@ -126,24 +148,86 @@ class Scraper {
|
|
|
126
148
|
hasGuestToken() {
|
|
127
149
|
return this.auth.hasToken() || this.authTrends.hasToken();
|
|
128
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Returns if the scraper is logged in as a real user.
|
|
153
|
+
* @returns `true` if the scraper is logged in with a real user account; otherwise `false`.
|
|
154
|
+
*/
|
|
155
|
+
isLoggedIn() {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
return ((yield this.auth.isLoggedIn()) && (yield this.authTrends.isLoggedIn()));
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Login to Twitter as a real Twitter account. This enables running
|
|
162
|
+
* searches.
|
|
163
|
+
* @param username The username of the Twitter account to login with.
|
|
164
|
+
* @param password The password of the Twitter account to login with.
|
|
165
|
+
* @param email The password to log in with, if you have email confirmation enabled.
|
|
166
|
+
*/
|
|
167
|
+
login(username, password, email) {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
// Swap in a real authorizer for all requests
|
|
170
|
+
const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
|
|
171
|
+
yield userAuth.login(username, password, email);
|
|
172
|
+
this.auth = userAuth;
|
|
173
|
+
this.authTrends = userAuth;
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Log out of Twitter.
|
|
178
|
+
*/
|
|
179
|
+
logout() {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
yield this.auth.logout();
|
|
182
|
+
yield this.authTrends.logout();
|
|
183
|
+
// Swap in guest authorizers for all requests
|
|
184
|
+
this.auth = new auth_1.TwitterGuestAuth(api_1.bearerToken);
|
|
185
|
+
this.authTrends = new auth_1.TwitterGuestAuth(api_1.bearerToken2);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Retrieves all cookies for the current session.
|
|
190
|
+
* @returns All cookies for the current session.
|
|
191
|
+
*/
|
|
192
|
+
getCookies() {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
return yield this.authTrends.cookieJar().getCookies(twUrl);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Set cookies for the current session.
|
|
199
|
+
* @param cookies The cookies to set for the current session.
|
|
200
|
+
*/
|
|
201
|
+
setCookies(cookies) {
|
|
202
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
|
|
204
|
+
for (const cookie of cookies) {
|
|
205
|
+
yield userAuth.cookieJar().setCookie(cookie, twUrl);
|
|
206
|
+
}
|
|
207
|
+
this.auth = userAuth;
|
|
208
|
+
this.authTrends = userAuth;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
129
211
|
/**
|
|
130
212
|
* Sets the optional cookie to be used in requests.
|
|
131
|
-
* @param
|
|
213
|
+
* @param _cookie The cookie to be used in requests.
|
|
214
|
+
* @deprecated This function no longer represents any part of Twitter's auth flow.
|
|
132
215
|
* @returns This scraper instance.
|
|
133
216
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
218
|
+
withCookie(_cookie) {
|
|
219
|
+
console.warn('Warning: Scraper#withCookie is deprecated and will be removed in a later version. Use Scraper#login or Scraper#setCookies instead.');
|
|
137
220
|
return this;
|
|
138
221
|
}
|
|
139
222
|
/**
|
|
140
223
|
* Sets the optional CSRF token to be used in requests.
|
|
141
|
-
* @param
|
|
224
|
+
* @param _token The CSRF token to be used in requests.
|
|
225
|
+
* @deprecated This function no longer represents any part of Twitter's auth flow.
|
|
142
226
|
* @returns This scraper instance.
|
|
143
227
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
228
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
229
|
+
withXCsrfToken(_token) {
|
|
230
|
+
console.warn('Warning: Scraper#withXCsrfToken is deprecated and will be removed in a later version.');
|
|
147
231
|
return this;
|
|
148
232
|
}
|
|
149
233
|
handleResponse(res) {
|
package/dist/scraper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
|
package/dist/search.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TwitterAuth } from './auth';
|
|
2
2
|
import { Profile } from './profile';
|
|
3
3
|
import { QueryProfilesResponse, QueryTweetsResponse } from './timeline';
|
|
4
4
|
import { Tweet } from './tweets';
|
|
@@ -12,8 +12,8 @@ export declare enum SearchMode {
|
|
|
12
12
|
Videos = 3,
|
|
13
13
|
Users = 4
|
|
14
14
|
}
|
|
15
|
-
export declare function searchTweets(query: string, maxTweets: number, includeReplies: boolean, searchMode: SearchMode, auth:
|
|
16
|
-
export declare function searchProfiles(query: string, maxProfiles: number, auth:
|
|
17
|
-
export declare function fetchSearchTweets(query: string, maxTweets: number, includeReplies: boolean, searchMode: SearchMode, auth:
|
|
18
|
-
export declare function fetchSearchProfiles(query: string, maxProfiles: number, auth:
|
|
15
|
+
export declare function searchTweets(query: string, maxTweets: number, includeReplies: boolean, searchMode: SearchMode, auth: TwitterAuth): AsyncGenerator<Tweet>;
|
|
16
|
+
export declare function searchProfiles(query: string, maxProfiles: number, auth: TwitterAuth): AsyncGenerator<Profile>;
|
|
17
|
+
export declare function fetchSearchTweets(query: string, maxTweets: number, includeReplies: boolean, searchMode: SearchMode, auth: TwitterAuth, cursor?: string): Promise<QueryTweetsResponse>;
|
|
18
|
+
export declare function fetchSearchProfiles(query: string, maxProfiles: number, auth: TwitterAuth, cursor?: string): Promise<QueryProfilesResponse>;
|
|
19
19
|
//# sourceMappingURL=search.d.ts.map
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,IAAA;IACH,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;CACN;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,WAAW,GAChB,cAAc,CAAC,KAAK,CAAC,CAIvB;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,GAChB,cAAc,CAAC,OAAO,CAAC,CAIzB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAW9B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
|
package/dist/search.js
CHANGED
|
@@ -52,6 +52,9 @@ function fetchSearchProfiles(query, maxProfiles, auth, cursor) {
|
|
|
52
52
|
exports.fetchSearchProfiles = fetchSearchProfiles;
|
|
53
53
|
function getSearchTimeline(query, maxItems, includeReplies, searchMode, auth, cursor) {
|
|
54
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
if (!auth.isLoggedIn()) {
|
|
56
|
+
throw new Error('Scraper is not logged-in for search.');
|
|
57
|
+
}
|
|
55
58
|
if (maxItems > 50) {
|
|
56
59
|
maxItems = 50;
|
|
57
60
|
}
|
|
@@ -61,7 +64,9 @@ function getSearchTimeline(query, maxItems, includeReplies, searchMode, auth, cu
|
|
|
61
64
|
params.set('count', `${maxItems}`);
|
|
62
65
|
params.set('query_source', 'typed_query');
|
|
63
66
|
params.set('pc', '1');
|
|
67
|
+
params.set('requestContext', 'launch');
|
|
64
68
|
params.set('spelling_corrections', '1');
|
|
69
|
+
params.set('include_ext_edit_control', 'true');
|
|
65
70
|
if (cursor != null && cursor != '') {
|
|
66
71
|
params.set('cursor', cursor);
|
|
67
72
|
}
|
package/dist/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAiD;AAGjD,yCAMoB;AACpB,qDAAqE;AAGrE;;GAEG;AACH,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yCAAG,CAAA;IACH,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,6CAAK,CAAA;AACP,CAAC,EANW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAMrB;AAED,SAAgB,YAAY,CAC1B,KAAa,EACb,SAAiB,EACjB,cAAuB,EACvB,UAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
package/dist/timeline-async.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ export interface FetchProfilesResponse {
|
|
|
4
4
|
profiles: Profile[];
|
|
5
5
|
next?: string;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export type FetchProfiles = (query: string, maxProfiles: number, cursor: string | undefined) => Promise<FetchProfilesResponse>;
|
|
8
8
|
export interface FetchTweetsResponse {
|
|
9
9
|
tweets: Tweet[];
|
|
10
10
|
next?: string;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
12
|
+
export type FetchTweets = (query: string, maxTweets: number, cursor: string | undefined) => Promise<FetchTweetsResponse>;
|
|
13
13
|
export declare function getUserTimeline(query: string, maxProfiles: number, fetchFunc: FetchProfiles): AsyncGenerator<Profile>;
|
|
14
14
|
export declare function getTweetTimeline(query: string, maxTweets: number, fetchFunc: FetchTweets): AsyncGenerator<Tweet>;
|
|
15
15
|
//# sourceMappingURL=timeline-async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-async.d.ts","sourceRoot":"","sources":["../src/timeline-async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,
|
|
1
|
+
{"version":3,"file":"timeline-async.d.ts","sourceRoot":"","sources":["../src/timeline-async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,KACvB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,KACvB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,wBAAuB,eAAe,CACpC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,aAAa,GACvB,cAAc,CAAC,OAAO,CAAC,CA2BzB;AAED,wBAAuB,gBAAgB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,WAAW,GACrB,cAAc,CAAC,KAAK,CAAC,CA2BvB"}
|
package/dist/timeline.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ import { PlaceRaw, Tweet } from './tweets';
|
|
|
3
3
|
export interface Hashtag {
|
|
4
4
|
text?: string;
|
|
5
5
|
}
|
|
6
|
+
export interface TimelineUserMentionBasicRaw {
|
|
7
|
+
id_str?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
screen_name?: string;
|
|
10
|
+
}
|
|
6
11
|
export interface TimelineMediaBasicRaw {
|
|
7
12
|
media_url_https?: string;
|
|
8
13
|
type?: string;
|
|
@@ -41,6 +46,7 @@ export interface TimelineTweetRaw {
|
|
|
41
46
|
hashtags?: Hashtag[];
|
|
42
47
|
media?: TimelineMediaBasicRaw[];
|
|
43
48
|
urls?: TimelineUrlBasicRaw[];
|
|
49
|
+
user_mentions?: TimelineUserMentionBasicRaw[];
|
|
44
50
|
};
|
|
45
51
|
extended_entities?: {
|
|
46
52
|
media?: TimelineMediaExtendedRaw[];
|
|
@@ -53,6 +59,10 @@ export interface TimelineTweetRaw {
|
|
|
53
59
|
quoted_status_id_str?: string;
|
|
54
60
|
time?: string;
|
|
55
61
|
user_id_str?: string;
|
|
62
|
+
ext_views?: {
|
|
63
|
+
state?: string;
|
|
64
|
+
count?: string;
|
|
65
|
+
};
|
|
56
66
|
}
|
|
57
67
|
export interface TimelineGlobalObjectsRaw {
|
|
58
68
|
tweets?: {
|
|
@@ -134,7 +144,14 @@ export interface TimelineRaw {
|
|
|
134
144
|
globalObjects?: TimelineGlobalObjectsRaw;
|
|
135
145
|
timeline?: TimelineDataRaw;
|
|
136
146
|
}
|
|
137
|
-
|
|
147
|
+
type ParseTweetResult = {
|
|
148
|
+
success: true;
|
|
149
|
+
tweet: Tweet;
|
|
150
|
+
} | {
|
|
151
|
+
success: false;
|
|
152
|
+
err: Error;
|
|
153
|
+
};
|
|
154
|
+
export declare function parseTweet(timeline: TimelineRaw, id: string): ParseTweetResult;
|
|
138
155
|
/**
|
|
139
156
|
* A paginated tweets API response. The `next` field can be used to fetch the next page of results.
|
|
140
157
|
*/
|
|
@@ -151,4 +168,5 @@ export interface QueryProfilesResponse {
|
|
|
151
168
|
next?: string;
|
|
152
169
|
}
|
|
153
170
|
export declare function parseUsers(timeline: TimelineRaw): QueryProfilesResponse;
|
|
171
|
+
export {};
|
|
154
172
|
//# sourceMappingURL=timeline.d.ts.map
|
package/dist/timeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,OAAO,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"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"}
|