@book000/twitterts 0.1.3 → 0.3.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.
Files changed (91) hide show
  1. package/dist/generate-types.d.ts +2 -0
  2. package/dist/generate-types.d.ts.map +1 -0
  3. package/dist/generate-types.js +248 -0
  4. package/dist/generate-types.js.map +1 -0
  5. package/dist/index.d.ts +16 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +16 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/models/endpoints.d.ts +24 -0
  10. package/dist/models/endpoints.d.ts.map +1 -0
  11. package/dist/models/endpoints.js +3 -0
  12. package/dist/models/endpoints.js.map +1 -0
  13. package/dist/models/graphql/get/authenticated-user-tflists.d.ts +11 -0
  14. package/dist/models/graphql/get/authenticated-user-tflists.d.ts.map +1 -0
  15. package/dist/models/graphql/get/authenticated-user-tflists.js +4 -0
  16. package/dist/models/graphql/get/authenticated-user-tflists.js.map +1 -0
  17. package/dist/models/graphql/get/bookmarks.d.ts +14 -0
  18. package/dist/models/graphql/get/bookmarks.d.ts.map +1 -0
  19. package/dist/models/graphql/get/bookmarks.js +4 -0
  20. package/dist/models/graphql/get/bookmarks.js.map +1 -0
  21. package/dist/models/graphql/get/data-saver-mode.d.ts +6 -0
  22. package/dist/models/graphql/get/data-saver-mode.d.ts.map +1 -0
  23. package/dist/models/graphql/get/data-saver-mode.js +4 -0
  24. package/dist/models/graphql/get/data-saver-mode.js.map +1 -0
  25. package/dist/models/graphql/get/get-alt-text-prompt-preference.d.ts +4 -0
  26. package/dist/models/graphql/get/get-alt-text-prompt-preference.d.ts.map +1 -0
  27. package/dist/models/graphql/get/get-alt-text-prompt-preference.js +4 -0
  28. package/dist/models/graphql/get/get-alt-text-prompt-preference.js.map +1 -0
  29. package/dist/models/graphql/get/get-user-claims.d.ts +8 -0
  30. package/dist/models/graphql/get/get-user-claims.d.ts.map +1 -0
  31. package/dist/models/graphql/get/get-user-claims.js +4 -0
  32. package/dist/models/graphql/get/get-user-claims.js.map +1 -0
  33. package/dist/models/graphql/get/home-latest-timeline.d.ts +2525 -0
  34. package/dist/models/graphql/get/home-latest-timeline.d.ts.map +1 -0
  35. package/dist/models/graphql/get/home-latest-timeline.js +4 -0
  36. package/dist/models/graphql/get/home-latest-timeline.js.map +1 -0
  37. package/dist/models/graphql/get/list-pins.d.ts +6 -0
  38. package/dist/models/graphql/get/list-pins.d.ts.map +1 -0
  39. package/dist/models/graphql/get/list-pins.js +4 -0
  40. package/dist/models/graphql/get/list-pins.js.map +1 -0
  41. package/dist/models/graphql/get/lists-management-page-timeline.d.ts +172 -0
  42. package/dist/models/graphql/get/lists-management-page-timeline.d.ts.map +1 -0
  43. package/dist/models/graphql/get/lists-management-page-timeline.js +4 -0
  44. package/dist/models/graphql/get/lists-management-page-timeline.js.map +1 -0
  45. package/dist/models/graphql/get/profile-spotlights-query.d.ts +25 -0
  46. package/dist/models/graphql/get/profile-spotlights-query.d.ts.map +1 -0
  47. package/dist/models/graphql/get/profile-spotlights-query.js +4 -0
  48. package/dist/models/graphql/get/profile-spotlights-query.js.map +1 -0
  49. package/dist/models/graphql/get/search-timeline.d.ts +1327 -0
  50. package/dist/models/graphql/get/search-timeline.d.ts.map +1 -0
  51. package/dist/models/graphql/get/search-timeline.js +4 -0
  52. package/dist/models/graphql/get/search-timeline.js.map +1 -0
  53. package/dist/models/graphql/get/tweet-detail.d.ts +535 -0
  54. package/dist/models/graphql/get/tweet-detail.d.ts.map +1 -0
  55. package/dist/models/graphql/get/tweet-detail.js +4 -0
  56. package/dist/models/graphql/get/tweet-detail.js.map +1 -0
  57. package/dist/models/graphql/get/user-by-screen-name.d.ts +72 -0
  58. package/dist/models/graphql/get/user-by-screen-name.d.ts.map +1 -0
  59. package/dist/models/graphql/get/user-by-screen-name.js +4 -0
  60. package/dist/models/graphql/get/user-by-screen-name.js.map +1 -0
  61. package/dist/models/graphql/get/user-tweets.d.ts +2305 -0
  62. package/dist/models/graphql/get/user-tweets.d.ts.map +1 -0
  63. package/dist/models/graphql/get/user-tweets.js +4 -0
  64. package/dist/models/graphql/get/user-tweets.js.map +1 -0
  65. package/dist/models/graphql/post/home-latest-timeline.d.ts +1819 -0
  66. package/dist/models/graphql/post/home-latest-timeline.d.ts.map +1 -0
  67. package/dist/models/graphql/post/home-latest-timeline.js +4 -0
  68. package/dist/models/graphql/post/home-latest-timeline.js.map +1 -0
  69. package/dist/models/graphql/post/home-timeline.d.ts +1515 -0
  70. package/dist/models/graphql/post/home-timeline.d.ts.map +1 -0
  71. package/dist/models/graphql/post/home-timeline.js +4 -0
  72. package/dist/models/graphql/post/home-timeline.js.map +1 -0
  73. package/dist/scraper.d.ts +192 -0
  74. package/dist/scraper.d.ts.map +1 -1
  75. package/dist/scraper.js +386 -1
  76. package/dist/scraper.js.map +1 -1
  77. package/dist/scraper.test.d.ts +2 -0
  78. package/dist/scraper.test.d.ts.map +1 -0
  79. package/dist/scraper.test.js +34 -0
  80. package/dist/scraper.test.js.map +1 -0
  81. package/dist/tsconfig.build.tsbuildinfo +1 -1
  82. package/dist/tsconfig.tsbuildinfo +1 -1
  83. package/dist/twitter.d.ts +7 -1
  84. package/dist/twitter.d.ts.map +1 -1
  85. package/dist/twitter.js +16 -2
  86. package/dist/twitter.js.map +1 -1
  87. package/dist/twitter.test.d.ts +2 -0
  88. package/dist/twitter.test.d.ts.map +1 -0
  89. package/dist/twitter.test.js +37 -0
  90. package/dist/twitter.test.js.map +1 -0
  91. package/package.json +12 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-timeline.d.ts","sourceRoot":"","sources":["../../../../src/models/graphql/post/home-timeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/ban-types */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=home-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-timeline.js","sourceRoot":"","sources":["../../../../src/models/graphql/post/home-timeline.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
package/dist/scraper.d.ts CHANGED
@@ -1,3 +1,195 @@
1
+ import { Page } from 'puppeteer-core';
2
+ import { EndPointResponseType, GraphQLEndpoint, RESTEndpoint } from './models/endpoints';
3
+ /**
4
+ * レスポンスデバッグ出力オプション
5
+ *
6
+ * ${outputDirectory}/${type}/${name}/${method}/${timestamp}.json に出力されます。
7
+ */
8
+ export interface TwitterScraperDebugOutputResponseOptions {
9
+ /**
10
+ * レスポンスをファイルに出力するか
11
+ */
12
+ enable: boolean;
13
+ /**
14
+ * レスポンスを出力するディレクトリ
15
+ */
16
+ outputDirectory: string;
17
+ }
18
+ /**
19
+ * デバッグオプション
20
+ */
21
+ export interface TwitterScraperDebugOptions {
22
+ /**
23
+ * レスポンスデバッグ出力オプション
24
+ *
25
+ * 指定しない場合はデバッグ出力されません。
26
+ */
27
+ outputResponse?: TwitterScraperDebugOutputResponseOptions;
28
+ }
29
+ /**
30
+ * Puppeteer オプション
31
+ */
32
+ export interface PuppeteerOptions {
33
+ /**
34
+ * Puppeteer の実行ファイルパス
35
+ *
36
+ * 指定しない場合は chrome channel が使用されます。
37
+ */
38
+ executablePath?: string;
39
+ /**
40
+ * デフォルトのビューポート
41
+ */
42
+ defaultViewport?: {
43
+ /**
44
+ * ビューポートの幅
45
+ */
46
+ width: number;
47
+ /**
48
+ * ビューポートの高さ
49
+ */
50
+ height: number;
51
+ };
52
+ /**
53
+ * ユーザーデータディレクトリ
54
+ *
55
+ * 指定しない場合は /data/userdata が使用されます。
56
+ */
57
+ userDataDirectory?: string;
58
+ /**
59
+ * DevTools を有効にするか
60
+ */
61
+ enableDevtools?: boolean;
62
+ }
63
+ /**
64
+ * TwitterScraper オプション
65
+ */
66
+ export interface TwitterScraperOptions {
67
+ /**
68
+ * Twitter ユーザー名
69
+ */
70
+ username: string;
71
+ /**
72
+ * Twitter パスワード
73
+ */
74
+ password: string;
75
+ /**
76
+ * Twitter One Time Password シークレット
77
+ */
78
+ otpSecret?: string;
79
+ /**
80
+ * デバッグオプション
81
+ */
82
+ debugOptions?: TwitterScraperDebugOptions;
83
+ /**
84
+ * Puppeteer オプション
85
+ */
86
+ puppeteerOptions?: PuppeteerOptions;
87
+ }
88
+ /**
89
+ * HTTP メソッド
90
+ */
91
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
92
+ /**
93
+ * レスポンス種別
94
+ */
95
+ export type RequestType = 'REST' | 'GRAPHQL';
96
+ /**
97
+ * レスポンス取得オプション
98
+ */
99
+ export interface TwitterScraperGetResponseOptions {
100
+ /**
101
+ * ページ遷移先 URL
102
+ */
103
+ url: string;
104
+ /**
105
+ * レスポンスを取得したいリクエストの HTTP メソッド
106
+ */
107
+ method: HttpMethod;
108
+ /**
109
+ * レスポンスを取得したいリクエストの種別
110
+ */
111
+ type: RequestType;
112
+ /**
113
+ * 取得処理のタイムアウト (ミリ秒)
114
+ *
115
+ * 指定しない場合は 30 秒でタイムアウトします。
116
+ * タイムアウトした場合は 'Response timeout.' Error が throw されます。
117
+ */
118
+ timeout?: number;
119
+ }
120
+ /**
121
+ * Twitter スクレイピング ページクラス
122
+ */
123
+ export declare class TwitterScraperPage {
124
+ readonly page: Page;
125
+ private readonly responses;
126
+ /**
127
+ * @param page Puppeteer のページ
128
+ */
129
+ constructor(page: Page);
130
+ /**
131
+ * 条件に一致するレスポンスをひとつのみ取得します。
132
+ * 指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
133
+ *
134
+ * @param options レスポンス取得オプション
135
+ * @returns レスポンス
136
+ */
137
+ waitSingleResponse<M extends HttpMethod, T extends RequestType, N extends T extends 'GRAPHQL' ? GraphQLEndpoint : RESTEndpoint>(url: string, method: M, type: T, name: N, timeout?: number): Promise<EndPointResponseType<M, T, N>>;
138
+ /**
139
+ * 条件に一致するレスポンスをひとつ取得します。繰り返し呼び出すことで複数のレスポンスを取得できます。
140
+ * waitSingleResponse と異なり、レスポンス待ちを行わず、ページ遷移もしません(goto メソッドによるページ遷移が必要です)。
141
+ *
142
+ * @param options レスポンス取得オプション
143
+ * @returns レスポンス。一致するレスポンスがない場合は null
144
+ */
145
+ shiftResponse<M extends HttpMethod, T extends RequestType, N extends T extends 'GRAPHQL' ? GraphQLEndpoint : RESTEndpoint>(method: M, type: T, name: N): EndPointResponseType<M, T, N> | null;
146
+ /**
147
+ * 指定した URL に遷移します。
148
+ *
149
+ * @param url 遷移先 URL
150
+ */
151
+ goto(url: string): Promise<void>;
152
+ /**
153
+ * 要素を探し、描画範囲内に表示されるようにスクロールしたあと、クリックします。
154
+ * 要素が検索処理は、指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
155
+ *
156
+ * @param selector 要素のセレクタ
157
+ */
158
+ waitAndClick(selector: string, timeout?: number): Promise<void>;
159
+ /**
160
+ * ページの最下部までスクロールします。
161
+ */
162
+ scrollToBottom(): Promise<void>;
163
+ private setRetentionResponse;
164
+ }
165
+ /**
166
+ * Twitter スクレイピングクラス
167
+ */
1
168
  export declare class TwitterScraper {
169
+ private readonly options;
170
+ private browser;
171
+ /**
172
+ * @param options Twitter スクレイピングオプション
173
+ */
174
+ constructor(options: TwitterScraperOptions);
175
+ /**
176
+ * Twitter にログインします。
177
+ */
178
+ login(): Promise<void>;
179
+ /**
180
+ * TwitterScraperPage インスタンスを作成します。
181
+ *
182
+ * @returns TwitterScraperPage インスタンス
183
+ */
184
+ getScraperPage(): Promise<TwitterScraperPage>;
185
+ /**
186
+ * ブラウザを閉じます。
187
+ */
188
+ close(): Promise<void>;
189
+ private getBrowser;
190
+ private newPage;
191
+ private setAutoSaveResponse;
192
+ private getElement;
193
+ private getOneTimePassword;
2
194
  }
3
195
  //# sourceMappingURL=scraper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;CAAG"}
1
+ {"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"AACA,OAAkB,EAAyB,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAGvE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,YAAY,EACb,MAAM,oBAAoB,CAAA;AAE3B;;;;GAIG;AACH,MAAM,WAAW,wCAAwC;IACvD;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,cAAc,CAAC,EAAE,wCAAwC,CAAA;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAA;QAEb;;WAEG;QACH,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAED;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAA;IAEzC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEpE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAA;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA2GD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEpB;IAEN;;OAEG;gBACS,IAAI,EAAE,IAAI;IAMtB;;;;;;OAMG;IACU,kBAAkB,CAC7B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,CAAC,SAAS,SAAS,GAAG,eAAe,GAAG,YAAY,EAE9D,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA8BzC;;;;;;OAMG;IACI,aAAa,CAClB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,CAAC,SAAS,SAAS,GAAG,eAAe,GAAG,YAAY,EAC9D,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAWpE;;;;OAIG;IACU,IAAI,CAAC,GAAG,EAAE,MAAM;IAM7B;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAa5D;;OAEG;IACU,cAAc;IAU3B,OAAO,CAAC,oBAAoB;CAY7B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,OAAO,CAAqB;IAEpC;;OAEG;gBACS,OAAO,EAAE,qBAAqB;IAI1C;;OAEG;IACU,KAAK;IAmFlB;;;;OAIG;IACU,cAAc;IAK3B;;OAEG;IACU,KAAK;YAOJ,UAAU;YAuCV,OAAO;IAsBrB,OAAO,CAAC,mBAAmB;YAiCb,UAAU;IAQxB,OAAO,CAAC,kBAAkB;CAG3B"}
package/dist/scraper.js CHANGED
@@ -1,7 +1,392 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TwitterScraper = void 0;
6
+ exports.TwitterScraper = exports.TwitterScraperPage = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
9
+ const otplib_1 = require("otplib");
10
+ const node_path_1 = require("node:path");
11
+ /**
12
+ * レスポンスの URL として対象とする URL の定義
13
+ *
14
+ * hostname: ホスト名
15
+ * pathnames: パス名の配列。ワイルドカードとして * が使用できる。<NAME> のパス箇所は name として利用する
16
+ */
17
+ const targetUrls = [
18
+ {
19
+ type: 'GRAPHQL',
20
+ hostname: 'api.twitter.com',
21
+ pathnames: ['graphql', '*', '<NAME>'],
22
+ },
23
+ {
24
+ type: 'GRAPHQL',
25
+ hostname: 'twitter.com',
26
+ pathnames: ['i', 'api', 'graphql', '*', '<NAME>'],
27
+ },
28
+ ];
29
+ /**
30
+ * 取得したレスポンスのチェックを行い、詳細を返します。
31
+ * レスポンスのチェックに失敗した場合は null を返します。
32
+ *
33
+ * @param response チェックし、詳細を返したいレスポンス
34
+ * @returns レスポンスの詳細。チェックに失敗した場合は null
35
+ */
36
+ async function getResponseDetails(response) {
37
+ if (response.request().method() === 'OPTIONS') {
38
+ return null;
39
+ }
40
+ const url = new URL(response.url());
41
+ if (!url) {
42
+ return null;
43
+ }
44
+ const targetUrl = targetUrls.find((targetUrl) => targetUrl.hostname === url.hostname);
45
+ if (!targetUrl) {
46
+ return null;
47
+ }
48
+ const pathnames = targetUrl.pathnames;
49
+ const pathname = url.pathname;
50
+ const pathnameParts = pathname.split('/').filter((part) => part !== '');
51
+ let name;
52
+ for (const [index, path] of pathnames.entries()) {
53
+ const part = pathnameParts[index];
54
+ if (path === '*') {
55
+ continue;
56
+ }
57
+ if (path === '<NAME>') {
58
+ if (!part) {
59
+ return null;
60
+ }
61
+ name = part;
62
+ continue;
63
+ }
64
+ if (path !== part) {
65
+ return null;
66
+ }
67
+ }
68
+ if (!name) {
69
+ return null;
70
+ }
71
+ let text;
72
+ try {
73
+ text = await response.text();
74
+ }
75
+ catch {
76
+ return null;
77
+ }
78
+ const type = targetUrl.type;
79
+ const method = response.request().method();
80
+ const key = getResponseKey({
81
+ method,
82
+ type,
83
+ name,
84
+ });
85
+ return {
86
+ key,
87
+ type,
88
+ method,
89
+ name,
90
+ text,
91
+ };
92
+ }
93
+ function getResponseKey(input) {
94
+ return `${input.type}_${input.method}_${input.name}`.toLocaleUpperCase();
95
+ }
96
+ /**
97
+ * Twitter スクレイピング ページクラス
98
+ */
99
+ class TwitterScraperPage {
100
+ /**
101
+ * @param page Puppeteer のページ
102
+ */
103
+ constructor(page) {
104
+ this.responses = {};
105
+ this.page = page;
106
+ this.setRetentionResponse(page);
107
+ }
108
+ /**
109
+ * 条件に一致するレスポンスをひとつのみ取得します。
110
+ * 指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
111
+ *
112
+ * @param options レスポンス取得オプション
113
+ * @returns レスポンス
114
+ */
115
+ async waitSingleResponse(url, method, type, name, timeout) {
116
+ setTimeout(() => {
117
+ throw new Error('Response timeout.');
118
+ }, timeout || 30000);
119
+ const key = getResponseKey({
120
+ method,
121
+ type,
122
+ name,
123
+ });
124
+ // レスポンスを待つ
125
+ const promise = new Promise((resolve) => {
126
+ setInterval(() => {
127
+ const responses = this.responses[key];
128
+ if (responses && responses.length > 0) {
129
+ const response = responses.shift();
130
+ if (response) {
131
+ resolve(JSON.parse(response));
132
+ }
133
+ }
134
+ }, 500);
135
+ });
136
+ // ページ遷移
137
+ await this.page.goto(url);
138
+ return await promise;
139
+ }
140
+ /**
141
+ * 条件に一致するレスポンスをひとつ取得します。繰り返し呼び出すことで複数のレスポンスを取得できます。
142
+ * waitSingleResponse と異なり、レスポンス待ちを行わず、ページ遷移もしません(goto メソッドによるページ遷移が必要です)。
143
+ *
144
+ * @param options レスポンス取得オプション
145
+ * @returns レスポンス。一致するレスポンスがない場合は null
146
+ */
147
+ shiftResponse(method, type, name) {
148
+ const key = getResponseKey({
149
+ method,
150
+ type,
151
+ name,
152
+ });
153
+ const response = this.responses[key].shift();
154
+ return response ? JSON.parse(response) : null;
155
+ }
156
+ /**
157
+ * 指定した URL に遷移します。
158
+ *
159
+ * @param url 遷移先 URL
160
+ */
161
+ async goto(url) {
162
+ await this.page.goto(url, {
163
+ waitUntil: ['load', 'networkidle2'],
164
+ });
165
+ }
166
+ /**
167
+ * 要素を探し、描画範囲内に表示されるようにスクロールしたあと、クリックします。
168
+ * 要素が検索処理は、指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
169
+ *
170
+ * @param selector 要素のセレクタ
171
+ */
172
+ async waitAndClick(selector, timeout) {
173
+ const element = await this.page
174
+ .waitForSelector(selector, {
175
+ timeout: timeout || 30000,
176
+ })
177
+ .catch(() => null);
178
+ if (!element) {
179
+ throw new Error(`Element not found: ${selector}`);
180
+ }
181
+ await this.page.evaluate((element) => element?.scrollIntoView(), element);
182
+ await element.click();
183
+ }
184
+ /**
185
+ * ページの最下部までスクロールします。
186
+ */
187
+ async scrollToBottom() {
188
+ await this.page.evaluate(() => {
189
+ const scrollHeight = document.documentElement.scrollHeight;
190
+ window.scrollTo({
191
+ top: scrollHeight,
192
+ behavior: 'smooth',
193
+ });
194
+ });
195
+ }
196
+ setRetentionResponse(page) {
197
+ page.on('response', async (response) => {
198
+ const details = await getResponseDetails(response);
199
+ if (!details) {
200
+ return;
201
+ }
202
+ const { key, text } = details;
203
+ this.responses[key] = this.responses[key] || [];
204
+ this.responses[key].push(text);
205
+ });
206
+ }
207
+ }
208
+ exports.TwitterScraperPage = TwitterScraperPage;
209
+ /**
210
+ * Twitter スクレイピングクラス
211
+ */
4
212
  class TwitterScraper {
213
+ /**
214
+ * @param options Twitter スクレイピングオプション
215
+ */
216
+ constructor(options) {
217
+ this.options = options;
218
+ }
219
+ /**
220
+ * Twitter にログインします。
221
+ */
222
+ async login() {
223
+ // ブラウザ作成
224
+ this.browser = await this.getBrowser();
225
+ // ログイン処理
226
+ const loginPage = await this.newPage();
227
+ await loginPage.goto('https://twitter.com', {
228
+ waitUntil: ['load', 'networkidle2'],
229
+ });
230
+ await new Promise((resolve) => setTimeout(resolve, 3000));
231
+ const href = await loginPage.evaluate(() => {
232
+ return document.location.href;
233
+ });
234
+ if (href !== 'https://twitter.com/home') {
235
+ await loginPage.goto('https://twitter.com/i/flow/login', {
236
+ waitUntil: ['load', 'networkidle2'],
237
+ });
238
+ const username = this.options.username;
239
+ await loginPage
240
+ .waitForSelector('input[autocomplete="username"]')
241
+ .then((element) => element?.type(username, { delay: 100 }))
242
+ .catch((error) => new Error('Username input not found.', error));
243
+ // next button
244
+ await loginPage
245
+ .waitForSelector('div[role="button"]:not([data-testid])')
246
+ .then((element) => element?.click())
247
+ .catch((error) => new Error('Next button not found.', error));
248
+ const password = this.options.password;
249
+ // password
250
+ await loginPage
251
+ .waitForSelector('input[autocomplete="current-password"]')
252
+ .then((element) => element?.type(password, { delay: 100 }))
253
+ .catch((error) => new Error('Password input not found.', error));
254
+ // login button
255
+ await loginPage
256
+ .waitForSelector('div[role="button"][data-testid="LoginForm_Login_Button"]')
257
+ .then((element) => element?.click())
258
+ .catch((error) => new Error('Login button not found.', error));
259
+ // need auth code ?
260
+ const authCodeInput = await this.getElement(loginPage, 'input[data-testid="ocfEnterTextTextInput"]', 3000);
261
+ if (authCodeInput) {
262
+ const authCodeSecret = this.options.otpSecret;
263
+ if (!authCodeSecret) {
264
+ throw new Error('OTP secret not found.');
265
+ }
266
+ const authCode = this.getOneTimePassword(authCodeSecret);
267
+ await authCodeInput.type(authCode, { delay: 100 });
268
+ await loginPage
269
+ .waitForSelector('div[role="button"][data-testid="ocfEnterTextNextButton"]')
270
+ .then((element) => element?.click())
271
+ .catch((error) => new Error('OTP next button not found.', error));
272
+ await new Promise((resolve, reject) => {
273
+ setTimeout(() => {
274
+ reject(new Error('Login timeout.'));
275
+ }, 10000);
276
+ const interval = setInterval(() => {
277
+ if (loginPage.url() === 'https://twitter.com/home') {
278
+ clearInterval(interval);
279
+ resolve();
280
+ }
281
+ }, 500);
282
+ });
283
+ }
284
+ await loginPage.close();
285
+ }
286
+ }
287
+ /**
288
+ * TwitterScraperPage インスタンスを作成します。
289
+ *
290
+ * @returns TwitterScraperPage インスタンス
291
+ */
292
+ async getScraperPage() {
293
+ const page = await this.newPage();
294
+ return new TwitterScraperPage(page);
295
+ }
296
+ /**
297
+ * ブラウザを閉じます。
298
+ */
299
+ async close() {
300
+ if (!this.browser) {
301
+ return;
302
+ }
303
+ await this.browser.close();
304
+ }
305
+ async getBrowser() {
306
+ const puppeteerArguments = [
307
+ '--no-sandbox',
308
+ '--disable-setuid-sandbox',
309
+ '--disable-dev-shm-usage',
310
+ '--disable-accelerated-2d-canvas',
311
+ '--no-first-run',
312
+ '--no-zygote',
313
+ '--disable-gpu',
314
+ '--lang=ja',
315
+ '--window-size=600,1000',
316
+ ];
317
+ if (this.options.puppeteerOptions?.enableDevtools) {
318
+ puppeteerArguments.push('--auto-open-devtools-for-tabs');
319
+ }
320
+ const userDataDirectory = this.options.puppeteerOptions?.userDataDirectory || '/data/userdata';
321
+ const browser = await puppeteer_core_1.default.launch({
322
+ headless: false,
323
+ executablePath: this.options.puppeteerOptions?.executablePath,
324
+ channel: 'chrome',
325
+ args: puppeteerArguments,
326
+ defaultViewport: {
327
+ width: this.options.puppeteerOptions?.defaultViewport?.width || 600,
328
+ height: this.options.puppeteerOptions?.defaultViewport?.height || 1000,
329
+ },
330
+ userDataDir: userDataDirectory,
331
+ });
332
+ process.on('SIGINT', async () => {
333
+ await browser.close();
334
+ process.exit(0);
335
+ });
336
+ return browser;
337
+ }
338
+ async newPage() {
339
+ if (!this.browser) {
340
+ throw new Error('Failed to create page. Browser is not initialized.');
341
+ }
342
+ const page = await this.browser.newPage();
343
+ page.setDefaultNavigationTimeout(120 * 1000);
344
+ await page.evaluateOnNewDocument(() => {
345
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
346
+ Object.defineProperty(navigator, 'webdriver', () => { });
347
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
348
+ // @ts-ignore
349
+ // eslint-disable-next-line no-proto
350
+ delete navigator.__proto__.webdriver;
351
+ });
352
+ this.setAutoSaveResponse(page);
353
+ return page;
354
+ }
355
+ setAutoSaveResponse(page) {
356
+ if (!this.options.debugOptions?.outputResponse?.enable) {
357
+ return;
358
+ }
359
+ page.on('response', async (response) => {
360
+ const details = await getResponseDetails(response);
361
+ if (!details) {
362
+ return;
363
+ }
364
+ const { type, name, method, text } = details;
365
+ const pathNotIncludedExtension = (0, node_path_1.join)(this.options.debugOptions?.outputResponse?.outputDirectory ||
366
+ '/data/debug', type.toLowerCase(), name, method, response.status().toString(), `${Date.now()}.`);
367
+ node_fs_1.default.mkdirSync((0, node_path_1.dirname)(pathNotIncludedExtension), { recursive: true });
368
+ try {
369
+ const data = JSON.parse(text);
370
+ const path = `${pathNotIncludedExtension}json`;
371
+ node_fs_1.default.writeFileSync(path, JSON.stringify(data, null, 2));
372
+ }
373
+ catch {
374
+ const path = `${pathNotIncludedExtension}txt`;
375
+ node_fs_1.default.writeFileSync(path, text);
376
+ }
377
+ });
378
+ }
379
+ async getElement(page, selector, timeout = 3000) {
380
+ try {
381
+ return await page.waitForSelector(selector, { timeout });
382
+ }
383
+ catch {
384
+ return null;
385
+ }
386
+ }
387
+ getOneTimePassword(secret) {
388
+ return otplib_1.authenticator.generate(secret);
389
+ }
5
390
  }
6
391
  exports.TwitterScraper = TwitterScraper;
7
392
  //# sourceMappingURL=scraper.js.map