@the-convocation/twitter-scraper 0.3.4 → 0.4.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.
- package/README.md +122 -1
- package/dist/api.d.ts +23 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +6 -8
- package/dist/api.js.map +1 -1
- package/dist/auth-user.d.ts +2 -2
- package/dist/auth-user.d.ts.map +1 -1
- package/dist/auth-user.js +3 -7
- package/dist/auth-user.js.map +1 -1
- package/dist/auth.d.ts +10 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +20 -2
- package/dist/auth.js.map +1 -1
- package/dist/scraper.d.ts +24 -1
- package/dist/scraper.d.ts.map +1 -1
- package/dist/scraper.js +22 -7
- package/dist/scraper.js.map +1 -1
- package/package.json +1 -1
- package/typedoc.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ A port of [n0madic/twitter-scraper](https://github.com/n0madic/twitter-scraper)
|
|
|
9
9
|
|
|
10
10
|
Known limitations:
|
|
11
11
|
|
|
12
|
-
*
|
|
12
|
+
* Search operations require logging in with a real user account via `scraper.login()`.
|
|
13
13
|
* Twitter's frontend API does in fact have rate limits ([#11](https://github.com/the-convocation/twitter-scraper/issues/11))
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
@@ -27,5 +27,126 @@ yarn add @the-convocation/twitter-scraper
|
|
|
27
27
|
|
|
28
28
|
TypeScript types have been bundled with the distribution.
|
|
29
29
|
|
|
30
|
+
## Usage
|
|
31
|
+
Most use cases are exactly the same as in [n0madic/twitter-scraper](https://github.com/n0madic/twitter-scraper).
|
|
32
|
+
Channel iterators have been translated into [AsyncGenerator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator)
|
|
33
|
+
instances, and can be consumed with the corresponding `for await (const x of y) { ... }` syntax.
|
|
34
|
+
|
|
35
|
+
### Browser usage
|
|
36
|
+
This package directly invokes the Twitter API, which does not have permissive CORS headers. With the default
|
|
37
|
+
settings, requests will fail unless you disable CORS checks, which is not advised. Instead, applications must
|
|
38
|
+
provide a CORS proxy and configure it in the `Scraper` options.
|
|
39
|
+
|
|
40
|
+
Proxies (and other request mutations) can be configured with the request interceptor transform:
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
const scraper = new Scraper({
|
|
44
|
+
transform: {
|
|
45
|
+
request(input: RequestInfo | URL, init?: RequestInit) {
|
|
46
|
+
// The arguments here are the same as the parameters to fetch(), and
|
|
47
|
+
// are kept as-is for flexibility of both the library and applications.
|
|
48
|
+
if (input instanceof URL) {
|
|
49
|
+
const proxy =
|
|
50
|
+
"https://corsproxy.io/?" +
|
|
51
|
+
encodeURIComponent(input.toString());
|
|
52
|
+
return [proxy, init];
|
|
53
|
+
} else if (typeof input === "string") {
|
|
54
|
+
const proxy =
|
|
55
|
+
"https://corsproxy.io/?" + encodeURIComponent(input);
|
|
56
|
+
return [proxy, init];
|
|
57
|
+
} else {
|
|
58
|
+
// Omitting handling for example
|
|
59
|
+
throw new Error("Unexpected request input type");
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
[corsproxy.io](https://corsproxy.io) is a public CORS proxy that works correctly with this package.
|
|
67
|
+
|
|
68
|
+
The public CORS proxy [corsproxy.org](https://corsproxy.org) *does not work* at the time of writing (at least
|
|
69
|
+
not using their recommended integration on the front page).
|
|
70
|
+
|
|
71
|
+
#### Next.js 13.x example:
|
|
72
|
+
```tsx
|
|
73
|
+
"use client";
|
|
74
|
+
|
|
75
|
+
import { Scraper, Tweet } from "@the-convocation/twitter-scraper";
|
|
76
|
+
import { useEffect, useMemo, useState } from "react";
|
|
77
|
+
|
|
78
|
+
export default function Home() {
|
|
79
|
+
const scraper = useMemo(
|
|
80
|
+
() =>
|
|
81
|
+
new Scraper({
|
|
82
|
+
transform: {
|
|
83
|
+
request(input: RequestInfo | URL, init?: RequestInit) {
|
|
84
|
+
if (input instanceof URL) {
|
|
85
|
+
const proxy =
|
|
86
|
+
"https://corsproxy.io/?" +
|
|
87
|
+
encodeURIComponent(input.toString());
|
|
88
|
+
return [proxy, init];
|
|
89
|
+
} else if (typeof input === "string") {
|
|
90
|
+
const proxy =
|
|
91
|
+
"https://corsproxy.io/?" + encodeURIComponent(input);
|
|
92
|
+
return [proxy, init];
|
|
93
|
+
} else {
|
|
94
|
+
throw new Error("Unexpected request input type");
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
}),
|
|
99
|
+
[],
|
|
100
|
+
);
|
|
101
|
+
const [tweet, setTweet] = useState<Tweet | null>(null);
|
|
102
|
+
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
async function getTweet() {
|
|
105
|
+
const latestTweet = await scraper.getLatestTweet("twitter");
|
|
106
|
+
if (latestTweet) {
|
|
107
|
+
setTweet(latestTweet);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
getTweet();
|
|
112
|
+
}, [scraper]);
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<main className="flex min-h-screen flex-col items-center justify-between p-24">
|
|
116
|
+
{tweet?.text}
|
|
117
|
+
</main>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Edge runtimes
|
|
123
|
+
This package currently uses [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) as a portable `fetch`.
|
|
124
|
+
Edge runtimes such as CloudFlare Workers sometimes have `fetch` functions that behave differently from the web
|
|
125
|
+
standard, so you may need to override the `fetch` function the scraper uses. If so, a custom `fetch` can be
|
|
126
|
+
provided in the options:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
const scraper = new Scraper({
|
|
130
|
+
fetch: fetch
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Note that this does not change the arguments passed to the function, or the expected return type. If the custom
|
|
135
|
+
`fetch` function produces runtime errors related to incorrect types, be sure to wrap it in a shim (not currently
|
|
136
|
+
supported directly by interceptors):
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
const scraper = new Scraper({
|
|
140
|
+
fetch: (input, init) => {
|
|
141
|
+
// Transform input and init into your function's expected types...
|
|
142
|
+
return fetch(input, init)
|
|
143
|
+
.then((res) => {
|
|
144
|
+
// Transform res into a web-compliant response...
|
|
145
|
+
return res;
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
30
151
|
## Contributing
|
|
31
152
|
We use [Conventional Commits](https://www.conventionalcommits.org), and enforce this with precommit checks.
|
package/dist/api.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { TwitterAuth } from './auth';
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
type FetchParameters = [input: RequestInfo | URL, init?: RequestInit];
|
|
3
|
+
export interface FetchTransformOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Transforms the request options before a request is made. This executes after all of the default
|
|
6
|
+
* parameters have been configured, and is stateless. It is safe to return new request options
|
|
7
|
+
* objects.
|
|
8
|
+
* @param args The request options.
|
|
9
|
+
* @returns The transformed request options.
|
|
10
|
+
*/
|
|
11
|
+
request: (...args: FetchParameters) => FetchParameters | Promise<FetchParameters>;
|
|
12
|
+
/**
|
|
13
|
+
* Transforms the response after a request completes. This executes immediately after the request
|
|
14
|
+
* completes, and is stateless. It is safe to return a new response object.
|
|
15
|
+
* @param response The response object.
|
|
16
|
+
* @returns The transformed response object.
|
|
17
|
+
*/
|
|
18
|
+
response: (response: Response) => Response | Promise<Response>;
|
|
19
|
+
}
|
|
20
|
+
export declare const bearerToken = "AAAAAAAAAAAAAAAAAAAAAFQODgEAAAAAVHTp76lzh3rFzcHbmHVvQxYYpTw%3DckAlMINMjmCwxUcaXbAN4XqJVdgMJaHqNOFgPMK0zN1qLqLQCF";
|
|
4
21
|
/**
|
|
5
22
|
* An API result container.
|
|
6
23
|
*/
|
|
@@ -20,6 +37,9 @@ export type RequestApiResult<T> = {
|
|
|
20
37
|
* @param method - The HTTP method used when sending this request.
|
|
21
38
|
*/
|
|
22
39
|
export declare function requestApi<T>(url: string, auth: TwitterAuth, method?: 'GET' | 'POST'): Promise<RequestApiResult<T>>;
|
|
40
|
+
/**
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
23
43
|
export declare function addApiFeatures(o: object): {
|
|
24
44
|
rweb_lists_timeline_redesign_enabled: boolean;
|
|
25
45
|
responsive_web_graphql_exclude_directive_enabled: boolean;
|
|
@@ -39,4 +59,5 @@ export declare function addApiFeatures(o: object): {
|
|
|
39
59
|
responsive_web_enhance_cards_enabled: boolean;
|
|
40
60
|
};
|
|
41
61
|
export declare function addApiParams(params: URLSearchParams, includeTweetReplies: boolean): URLSearchParams;
|
|
62
|
+
export {};
|
|
42
63
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAOrC,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,OAAO,EAAE,CACP,GAAG,IAAI,EAAE,eAAe,KACrB,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,WAAW,qHAC4F,CAAC;AAErH;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnC;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,KAAK,GAAG,MAAc,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAyD9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;EAoBvC;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAoCjB"}
|
package/dist/api.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.addApiParams = exports.addApiFeatures = exports.requestApi = exports.
|
|
3
|
+
exports.addApiParams = exports.addApiFeatures = exports.requestApi = exports.bearerToken = void 0;
|
|
7
4
|
const errors_1 = require("./errors");
|
|
8
5
|
const requests_1 = require("./requests");
|
|
9
6
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
10
|
-
|
|
11
|
-
exports.bearerToken = 'AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw';
|
|
12
|
-
exports.bearerToken2 = 'AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA';
|
|
7
|
+
exports.bearerToken = 'AAAAAAAAAAAAAAAAAAAAAFQODgEAAAAAVHTp76lzh3rFzcHbmHVvQxYYpTw%3DckAlMINMjmCwxUcaXbAN4XqJVdgMJaHqNOFgPMK0zN1qLqLQCF';
|
|
13
8
|
/**
|
|
14
9
|
* Used internally to send HTTP requests to the Twitter API.
|
|
15
10
|
* @internal
|
|
@@ -24,7 +19,7 @@ async function requestApi(url, auth, method = 'GET') {
|
|
|
24
19
|
let res;
|
|
25
20
|
do {
|
|
26
21
|
try {
|
|
27
|
-
res = await
|
|
22
|
+
res = await auth.fetch(url, {
|
|
28
23
|
method,
|
|
29
24
|
headers,
|
|
30
25
|
});
|
|
@@ -72,6 +67,9 @@ async function requestApi(url, auth, method = 'GET') {
|
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
69
|
exports.requestApi = requestApi;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
75
73
|
function addApiFeatures(o) {
|
|
76
74
|
return {
|
|
77
75
|
...o,
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/auth-user.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TwitterGuestAuth } from './auth';
|
|
1
|
+
import { TwitterAuthOptions, TwitterGuestAuth } from './auth';
|
|
2
2
|
import { Headers } from 'headers-polyfill';
|
|
3
3
|
/**
|
|
4
4
|
* A user authentication token manager.
|
|
5
5
|
*/
|
|
6
6
|
export declare class TwitterUserAuth extends TwitterGuestAuth {
|
|
7
|
-
constructor(bearerToken: string);
|
|
7
|
+
constructor(bearerToken: string, options?: Partial<TwitterAuthOptions>);
|
|
8
8
|
isLoggedIn(): Promise<boolean>;
|
|
9
9
|
login(username: string, password: string, email?: string): Promise<void>;
|
|
10
10
|
logout(): Promise<void>;
|
package/dist/auth-user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA0C3C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;gBACvC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAIhE,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9B,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAgHV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAcvB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAW/C,eAAe;CA2F9B"}
|
package/dist/auth-user.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.TwitterUserAuth = void 0;
|
|
7
4
|
const auth_1 = require("./auth");
|
|
@@ -9,13 +6,12 @@ const api_1 = require("./api");
|
|
|
9
6
|
const tough_cookie_1 = require("tough-cookie");
|
|
10
7
|
const requests_1 = require("./requests");
|
|
11
8
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
12
|
-
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
13
9
|
/**
|
|
14
10
|
* A user authentication token manager.
|
|
15
11
|
*/
|
|
16
12
|
class TwitterUserAuth extends auth_1.TwitterGuestAuth {
|
|
17
|
-
constructor(bearerToken) {
|
|
18
|
-
super(bearerToken);
|
|
13
|
+
constructor(bearerToken, options) {
|
|
14
|
+
super(bearerToken, options);
|
|
19
15
|
}
|
|
20
16
|
async isLoggedIn() {
|
|
21
17
|
const res = await (0, api_1.requestApi)('https://api.twitter.com/1.1/account/verify_credentials.json', this);
|
|
@@ -155,7 +151,7 @@ class TwitterUserAuth extends auth_1.TwitterGuestAuth {
|
|
|
155
151
|
'x-twitter-active-user': 'yes',
|
|
156
152
|
'x-twitter-client-language': 'en',
|
|
157
153
|
});
|
|
158
|
-
const res = await
|
|
154
|
+
const res = await this.fetch(onboardingTaskUrl, {
|
|
159
155
|
method: 'POST',
|
|
160
156
|
headers: headers,
|
|
161
157
|
body: JSON.stringify(data),
|
package/dist/auth-user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-user.js","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-user.js","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { CookieJar } from 'tough-cookie';
|
|
2
2
|
import { Headers } from 'headers-polyfill';
|
|
3
|
+
import fetch from 'cross-fetch';
|
|
4
|
+
import { FetchTransformOptions } from './api';
|
|
5
|
+
export interface TwitterAuthOptions {
|
|
6
|
+
fetch: typeof fetch;
|
|
7
|
+
transform: Partial<FetchTransformOptions>;
|
|
8
|
+
}
|
|
3
9
|
export interface TwitterAuth {
|
|
10
|
+
fetch: typeof fetch;
|
|
4
11
|
/**
|
|
5
12
|
* Returns the current cookie jar.
|
|
6
13
|
*/
|
|
@@ -46,11 +53,13 @@ export interface TwitterAuth {
|
|
|
46
53
|
* A guest authentication token manager. Automatically handles token refreshes.
|
|
47
54
|
*/
|
|
48
55
|
export declare class TwitterGuestAuth implements TwitterAuth {
|
|
56
|
+
protected readonly options?: Partial<TwitterAuthOptions> | undefined;
|
|
49
57
|
protected bearerToken: string;
|
|
50
58
|
protected jar: CookieJar;
|
|
51
59
|
protected guestToken?: string;
|
|
52
60
|
protected guestCreatedAt?: Date;
|
|
53
|
-
|
|
61
|
+
fetch: typeof fetch;
|
|
62
|
+
constructor(bearerToken: string, options?: Partial<TwitterAuthOptions> | undefined);
|
|
54
63
|
cookieJar(): CookieJar;
|
|
55
64
|
isLoggedIn(): Promise<boolean>;
|
|
56
65
|
login(_username: string, _password: string, _email?: string): Promise<void>;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;IAEpB;;OAEG;IACH,SAAS,IAAI,SAAS,CAAC;IAEvB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;;OAGG;IACH,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAsBD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAUhD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAT7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAEhC,KAAK,EAAE,OAAO,KAAK,CAAC;gBAGlB,WAAW,EAAE,MAAM,EACA,OAAO,CAAC,yCAA6B;IAO1D,SAAS,IAAI,SAAS;IAItB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,WAAW;IAKX,QAAQ,IAAI,OAAO;IAInB,eAAe,IAAI,IAAI,GAAG,IAAI;IAQxB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;OAEG;cACa,gBAAgB;IAiChC;;;OAGG;IACH,OAAO,CAAC,YAAY;CAQrB"}
|
package/dist/auth.js
CHANGED
|
@@ -8,11 +8,29 @@ const tough_cookie_1 = require("tough-cookie");
|
|
|
8
8
|
const requests_1 = require("./requests");
|
|
9
9
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
10
10
|
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
11
|
+
/**
|
|
12
|
+
* Wraps the provided fetch function with transforms.
|
|
13
|
+
* @param fetchFn The fetch function.
|
|
14
|
+
* @param transform The transform options.
|
|
15
|
+
* @returns The input fetch function, wrapped with the provided transforms.
|
|
16
|
+
*/
|
|
17
|
+
function withTransform(fetchFn, transform) {
|
|
18
|
+
return async (input, init) => {
|
|
19
|
+
const fetchArgs = (await transform?.request?.(input, init)) ?? [
|
|
20
|
+
input,
|
|
21
|
+
init,
|
|
22
|
+
];
|
|
23
|
+
const res = await fetchFn(...fetchArgs);
|
|
24
|
+
return (await transform?.response?.(res)) ?? res;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
11
27
|
/**
|
|
12
28
|
* A guest authentication token manager. Automatically handles token refreshes.
|
|
13
29
|
*/
|
|
14
30
|
class TwitterGuestAuth {
|
|
15
|
-
constructor(bearerToken) {
|
|
31
|
+
constructor(bearerToken, options) {
|
|
32
|
+
this.options = options;
|
|
33
|
+
this.fetch = withTransform(options?.fetch ?? cross_fetch_1.default, options?.transform);
|
|
16
34
|
this.bearerToken = bearerToken;
|
|
17
35
|
this.jar = new tough_cookie_1.CookieJar();
|
|
18
36
|
}
|
|
@@ -70,7 +88,7 @@ class TwitterGuestAuth {
|
|
|
70
88
|
Authorization: `Bearer ${this.bearerToken}`,
|
|
71
89
|
Cookie: await this.jar.getCookieString(guestActivateUrl),
|
|
72
90
|
});
|
|
73
|
-
const res = await
|
|
91
|
+
const res = await this.fetch(guestActivateUrl, {
|
|
74
92
|
method: 'POST',
|
|
75
93
|
headers: headers,
|
|
76
94
|
});
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,yCAA6C;AAC7C,uDAA2C;AAC3C,8DAAgC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.d.ts
CHANGED
|
@@ -1,21 +1,43 @@
|
|
|
1
1
|
import { Cookie } from 'tough-cookie';
|
|
2
|
+
import { FetchTransformOptions } from './api';
|
|
2
3
|
import { Profile } from './profile';
|
|
3
4
|
import { SearchMode } from './search';
|
|
4
5
|
import { QueryProfilesResponse, QueryTweetsResponse } from './timeline-v1';
|
|
5
6
|
import { Tweet } from './tweets';
|
|
7
|
+
import fetch from 'cross-fetch';
|
|
8
|
+
export interface ScraperOptions {
|
|
9
|
+
/**
|
|
10
|
+
* An alternative fetch function to use instead of the default fetch function. This may be useful
|
|
11
|
+
* in nonstandard runtime environments, such as edge workers.
|
|
12
|
+
*/
|
|
13
|
+
fetch: typeof fetch;
|
|
14
|
+
/**
|
|
15
|
+
* Additional options that control how requests and responses are processed. This can be used to
|
|
16
|
+
* proxy requests through other hosts, for example.
|
|
17
|
+
*/
|
|
18
|
+
transform: Partial<FetchTransformOptions>;
|
|
19
|
+
}
|
|
6
20
|
/**
|
|
7
21
|
* An interface to Twitter's undocumented API.
|
|
8
22
|
* - Reusing Scraper objects is recommended to minimize the time spent authenticating unnecessarily.
|
|
9
23
|
*/
|
|
10
24
|
export declare class Scraper {
|
|
25
|
+
private readonly options?;
|
|
11
26
|
private auth;
|
|
12
27
|
private authTrends;
|
|
28
|
+
private token;
|
|
13
29
|
/**
|
|
14
30
|
* Creates a new Scraper object.
|
|
15
31
|
* - Scrapers maintain their own guest tokens for Twitter's internal API.
|
|
16
32
|
* - Reusing Scraper objects is recommended to minimize the time spent authenticating unnecessarily.
|
|
17
33
|
*/
|
|
18
|
-
constructor();
|
|
34
|
+
constructor(options?: Partial<ScraperOptions> | undefined);
|
|
35
|
+
/**
|
|
36
|
+
* Initializes auth properties using a guest token.
|
|
37
|
+
* Used when creating a new instance of this class, and when logging out.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
private useGuestAuth;
|
|
19
41
|
/**
|
|
20
42
|
* Fetches a Twitter profile.
|
|
21
43
|
* @param username The Twitter username of the profile to fetch, without an `@` at the beginning.
|
|
@@ -144,6 +166,7 @@ export declare class Scraper {
|
|
|
144
166
|
* @returns This scraper instance.
|
|
145
167
|
*/
|
|
146
168
|
withXCsrfToken(_token: string): Scraper;
|
|
169
|
+
private getAuthOptions;
|
|
147
170
|
private handleResponse;
|
|
148
171
|
}
|
|
149
172
|
//# 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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.js
CHANGED
|
@@ -19,9 +19,19 @@ class Scraper {
|
|
|
19
19
|
* - Scrapers maintain their own guest tokens for Twitter's internal API.
|
|
20
20
|
* - Reusing Scraper objects is recommended to minimize the time spent authenticating unnecessarily.
|
|
21
21
|
*/
|
|
22
|
-
constructor() {
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.options = options;
|
|
24
|
+
this.token = api_1.bearerToken;
|
|
25
|
+
this.useGuestAuth();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Initializes auth properties using a guest token.
|
|
29
|
+
* Used when creating a new instance of this class, and when logging out.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
useGuestAuth() {
|
|
33
|
+
this.auth = new auth_1.TwitterGuestAuth(this.token, this.getAuthOptions());
|
|
34
|
+
this.authTrends = new auth_1.TwitterGuestAuth(this.token, this.getAuthOptions());
|
|
25
35
|
}
|
|
26
36
|
/**
|
|
27
37
|
* Fetches a Twitter profile.
|
|
@@ -148,7 +158,7 @@ class Scraper {
|
|
|
148
158
|
*/
|
|
149
159
|
async login(username, password, email) {
|
|
150
160
|
// Swap in a real authorizer for all requests
|
|
151
|
-
const userAuth = new auth_user_1.TwitterUserAuth(
|
|
161
|
+
const userAuth = new auth_user_1.TwitterUserAuth(this.token, this.getAuthOptions());
|
|
152
162
|
await userAuth.login(username, password, email);
|
|
153
163
|
this.auth = userAuth;
|
|
154
164
|
this.authTrends = userAuth;
|
|
@@ -160,8 +170,7 @@ class Scraper {
|
|
|
160
170
|
await this.auth.logout();
|
|
161
171
|
await this.authTrends.logout();
|
|
162
172
|
// Swap in guest authorizers for all requests
|
|
163
|
-
this.
|
|
164
|
-
this.authTrends = new auth_1.TwitterGuestAuth(api_1.bearerToken2);
|
|
173
|
+
this.useGuestAuth();
|
|
165
174
|
}
|
|
166
175
|
/**
|
|
167
176
|
* Retrieves all cookies for the current session.
|
|
@@ -175,7 +184,7 @@ class Scraper {
|
|
|
175
184
|
* @param cookies The cookies to set for the current session.
|
|
176
185
|
*/
|
|
177
186
|
async setCookies(cookies) {
|
|
178
|
-
const userAuth = new auth_user_1.TwitterUserAuth(
|
|
187
|
+
const userAuth = new auth_user_1.TwitterUserAuth(this.token, this.getAuthOptions());
|
|
179
188
|
for (const cookie of cookies) {
|
|
180
189
|
await userAuth.cookieJar().setCookie(cookie, twUrl);
|
|
181
190
|
}
|
|
@@ -211,6 +220,12 @@ class Scraper {
|
|
|
211
220
|
console.warn('Warning: Scraper#withXCsrfToken is deprecated and will be removed in a later version.');
|
|
212
221
|
return this;
|
|
213
222
|
}
|
|
223
|
+
getAuthOptions() {
|
|
224
|
+
return {
|
|
225
|
+
fetch: this.options?.fetch,
|
|
226
|
+
transform: this.options?.transform,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
214
229
|
handleResponse(res) {
|
|
215
230
|
if (!res.success) {
|
|
216
231
|
throw res.err;
|
package/dist/scraper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":";;;AACA,+BAA6E;AAC7E,iCAA2E;AAC3E,2CAA8C;AAC9C,uCAAuE;AACvE,qCAMkB;AAElB,qCAAqC;AACrC,qCAMkB;AAGlB,MAAM,KAAK,GAAG,qBAAqB,CAAC;AAgBpC;;;GAGG;AACH,MAAa,OAAO;IAKlB;;;;OAIG;IACH,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAC5D,IAAI,CAAC,KAAK,GAAG,iBAAW,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACK,YAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,QAAgB;QACtC,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QACnD,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAqB,EAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACI,YAAY,CACjB,KAAa,EACb,SAAiB,EACjB,aAAyB,mBAAU,CAAC,GAAG;QAEvC,OAAO,IAAA,qBAAY,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,cAAc,CACnB,KAAa,EACb,WAAmB;QAEnB,OAAO,IAAA,uBAAc,EAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;OAQG;IACI,iBAAiB,CACtB,KAAa,EACb,SAAiB,EACjB,UAAsB,EACtB,MAAe;QAEf,OAAO,IAAA,0BAAiB,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CACxB,KAAa,EACb,WAAmB,EACnB,MAAe;QAEf,OAAO,IAAA,4BAAmB,EAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;QAC5C,OAAO,IAAA,kBAAS,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CACtB,MAAc,EACd,SAAS,GAAG,GAAG;QAEf,OAAO,IAAA,0BAAiB,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACI,cAAc,CACnB,IAAY,EACZ,eAAe,GAAG,KAAK;QAEvB,OAAO,IAAA,uBAAc,EAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,EAAU;QACxB,OAAO,IAAA,iBAAQ,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAChB,QAAgB,EAChB,QAAgB,EAChB,KAAc;QAEd,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAE/B,6CAA6C;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU,CAAC,OAA4B;QAClD,MAAM,QAAQ,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACrD;QAED,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,6DAA6D;IACtD,UAAU,CAAC,OAAe;QAC/B,OAAO,CAAC,IAAI,CACV,oIAAoI,CACrI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,6DAA6D;IACtD,cAAc,CAAC,MAAc;QAClC,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;YAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;SACnC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAI,GAAwB;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,CAAC,GAAG,CAAC;SACf;QAED,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;CACF;AAxRD,0BAwRC"}
|
package/package.json
CHANGED
package/typedoc.json
CHANGED