@book000/twitterts 0.85.55 → 0.85.58

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/dist/scraper.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { Browser, Page } from 'puppeteer-core';
1
+ import { Browser as PuppeteerBrowser, Page } from 'puppeteer-core';
2
2
  import { EndPointResponseType, GraphQLEndpoint } from './models/responses/endpoints';
3
3
  import { ResponseDatabaseOptions } from './saving-responses';
4
+ type Browser = PuppeteerBrowser;
4
5
  /**
5
6
  * HTTP メソッド
6
7
  */
@@ -72,6 +73,10 @@ export interface TwitterScraperDebugOptions {
72
73
  * 指定しない場合はデバッグ出力されません。
73
74
  */
74
75
  outputResponse?: TwitterScraperDebugOutputResponseOptions;
76
+ /**
77
+ * デバッグログを出力するか
78
+ */
79
+ debugLog?: boolean;
75
80
  }
76
81
  /**
77
82
  * Puppeteer プロキシオプション
@@ -272,6 +277,12 @@ export declare class TwitterScraper {
272
277
  * Twitter にログインします。
273
278
  */
274
279
  login(): Promise<void>;
280
+ /**
281
+ * ブロックすべき OAuth プロバイダーへのリクエストかどうかを判定します。
282
+ * URL パースを使用してホスト名を正確にチェックします。
283
+ */
284
+ private isOAuthRequest;
285
+ private randomDelay;
275
286
  private inputUsername;
276
287
  private inputPassword;
277
288
  private inputAuthCode;
@@ -290,7 +301,7 @@ export declare class TwitterScraper {
290
301
  /**
291
302
  * Puppeteer ブラウザインスタンスを作成します。
292
303
  *
293
- * @returns Puppeteer ブラウザインスタンス
304
+ * @returns Puppeteer ブラウザインスタンスと初期ページ
294
305
  */
295
306
  private createBrowser;
296
307
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
package/dist/scraper.js CHANGED
@@ -1,10 +1,7 @@
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.TwitterScraper = exports.TwitterScraperPage = void 0;
7
- const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
4
+ const puppeteer_real_browser_1 = require("puppeteer-real-browser");
8
5
  const otplib_1 = require("otplib");
9
6
  const exceptions_1 = require("./models/exceptions");
10
7
  const promises_1 = require("node:timers/promises");
@@ -391,37 +388,104 @@ class TwitterScraper {
391
388
  * Twitter にログインします。
392
389
  */
393
390
  async login() {
391
+ // eslint-disable-next-line unicorn/consistent-function-scoping
392
+ const debug = (message) => {
393
+ if (this.options.debugOptions?.debugLog) {
394
+ console.log(`[TwitterScraper:Login] ${message}`);
395
+ }
396
+ };
394
397
  // データベース初期化
398
+ debug('Initializing database...');
395
399
  await this.initDatabase();
396
400
  // ブラウザ作成
397
- this.browser = await this.createBrowser();
398
- // ログイン処理
399
- const loginPage = await this.newPage();
401
+ debug('Creating browser...');
402
+ const { browser, page: loginPage } = await this.createBrowser();
403
+ this.browser = browser;
404
+ debug('Browser created');
405
+ // ログインページの設定
406
+ debug('Configuring login page...');
407
+ loginPage.setDefaultNavigationTimeout(120 * 1000);
408
+ // ログイン中にフォーカスが奪われるのを防ぐため、Google と Apple の OAuth ポップアップをブロック
409
+ await loginPage.setRequestInterception(true);
410
+ loginPage.on('request', (request) => {
411
+ if (this.isOAuthRequest(request.url())) {
412
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
413
+ request.abort().catch(() => { });
414
+ }
415
+ else {
416
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
417
+ request.continue().catch(() => { });
418
+ }
419
+ });
420
+ if (this.options.puppeteerOptions?.proxy?.username &&
421
+ this.options.puppeteerOptions.proxy.password) {
422
+ await loginPage.authenticate({
423
+ username: this.options.puppeteerOptions.proxy.username,
424
+ password: this.options.puppeteerOptions.proxy.password,
425
+ });
426
+ }
427
+ this.setAutoSaveResponse(loginPage);
428
+ debug('Login page configured');
429
+ debug('Navigating to x.com...');
400
430
  await loginPage.goto('https://x.com', {
401
431
  waitUntil: ['load', 'networkidle2'],
402
432
  });
433
+ debug('Navigated to x.com');
403
434
  await (0, promises_1.setTimeout)(3000);
404
435
  const href = await loginPage.evaluate(() => {
405
436
  return document.location.href;
406
437
  });
438
+ debug(`Current URL: ${href}`);
407
439
  if (href !== 'https://x.com/home') {
440
+ debug('Not logged in, navigating to login flow...');
408
441
  await loginPage.goto('https://x.com/i/flow/login', {
409
442
  waitUntil: ['load', 'networkidle2'],
410
443
  });
444
+ debug('Login flow page loaded');
411
445
  // username
446
+ debug('Inputting username...');
412
447
  await this.inputUsername(loginPage, this.options.username);
448
+ debug('Username input complete');
413
449
  // need email address ?
450
+ debug('Checking if email is needed...');
414
451
  await this.inputEmailAddress(loginPage, this.options.emailAddress);
452
+ debug('Email check complete');
415
453
  // password
454
+ debug('Inputting password...');
416
455
  await this.inputPassword(loginPage, this.options.password);
456
+ debug('Password input complete');
417
457
  // need auth code ?
458
+ debug('Checking if OTP is needed...');
418
459
  await this.inputAuthCode(loginPage, this.options.otpSecret);
460
+ debug('OTP check complete');
461
+ debug('Waiting for redirect to home page...');
419
462
  await new Promise((resolve, reject) => {
420
463
  const abortController = new AbortController();
421
- (0, promises_1.setTimeout)(10000, null, {
464
+ let lastUrl = '';
465
+ // ログイン時間を確保するためタイムアウトを 10 秒から 60 秒に延長
466
+ (0, promises_1.setTimeout)(60000, null, {
422
467
  signal: abortController.signal,
423
468
  })
424
- .then(() => {
469
+ .then(async () => {
470
+ debug(`Timeout reached. Last URL: ${lastUrl}`);
471
+ // デバッグ用にスクリーンショットとページ内容を取得
472
+ try {
473
+ const screenshotPath = `login-timeout-${Date.now()}.png`;
474
+ await loginPage.screenshot({
475
+ path: screenshotPath,
476
+ fullPage: true,
477
+ });
478
+ debug(`Screenshot saved to: ${screenshotPath}`);
479
+ // エラーメッセージ表示のためページテキストを取得
480
+ const pageContent = await loginPage.evaluate(() => {
481
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
482
+ return document.body.textContent?.slice(0, 2000) || '';
483
+ });
484
+ debug(`Page content: ${pageContent}`);
485
+ }
486
+ catch {
487
+ debug('Failed to capture debug info');
488
+ }
425
489
  reject(new exceptions_1.TwitterTimeoutError('Login timeout.'));
426
490
  })
427
491
  .catch((error) => {
@@ -432,7 +496,13 @@ class TwitterScraper {
432
496
  throw error;
433
497
  });
434
498
  const interval = setInterval(() => {
435
- if (loginPage.url() === 'https://x.com/home') {
499
+ const currentUrl = loginPage.url();
500
+ if (currentUrl !== lastUrl) {
501
+ debug(`URL changed: ${currentUrl}`);
502
+ lastUrl = currentUrl;
503
+ }
504
+ if (currentUrl === 'https://x.com/home') {
505
+ debug('Redirected to home page!');
436
506
  clearInterval(interval);
437
507
  abortController.abort();
438
508
  resolve();
@@ -442,38 +512,141 @@ class TwitterScraper {
442
512
  await loginPage.close();
443
513
  }
444
514
  }
515
+ /**
516
+ * ブロックすべき OAuth プロバイダーへのリクエストかどうかを判定します。
517
+ * URL パースを使用してホスト名を正確にチェックします。
518
+ */
519
+ isOAuthRequest(url) {
520
+ try {
521
+ const parsedUrl = new URL(url);
522
+ const hostname = parsedUrl.hostname;
523
+ return (hostname === 'accounts.google.com' ||
524
+ hostname.endsWith('.accounts.google.com') ||
525
+ hostname === 'appleid.apple.com' ||
526
+ hostname.endsWith('.appleid.apple.com'));
527
+ }
528
+ catch {
529
+ return false;
530
+ }
531
+ }
532
+ // 人間らしいランダムな待機時間を挿入するヘルパー関数
533
+ async randomDelay(min, max) {
534
+ const delay = Math.floor(Math.random() * (max - min + 1)) + min;
535
+ await (0, promises_1.setTimeout)(delay);
536
+ }
445
537
  async inputUsername(page, username) {
446
- const usernameInput = await this.getElement(page, 'input[autocomplete="username"]', 3000);
538
+ const debug = this.options.debugOptions?.debugLog;
539
+ if (debug) {
540
+ await page.screenshot({ path: 'step-1-before-username.png' });
541
+ }
542
+ // 人間らしい動作のため、最初にランダムな待機を入れる
543
+ await this.randomDelay(500, 1500);
544
+ const usernameInput = await this.getElement(page, 'input[autocomplete="username"]', 10000);
447
545
  if (!usernameInput) {
546
+ if (debug) {
547
+ console.log('[InputUsername] Username input not found');
548
+ }
448
549
  return;
449
550
  }
450
551
  if (!username) {
451
552
  throw new exceptions_1.TwitterOperationError('Username required.');
452
553
  }
453
- await usernameInput.type(username, { delay: 100 });
454
- const nextButton = await this.getElement(page, 'div.css-175oi2r button.r-13qz1uu', 3000);
455
- if (!nextButton) {
554
+ if (debug) {
555
+ console.log('[InputUsername] Found username input, clicking to focus...');
556
+ }
557
+ // 人間らしく見せるため、まず入力欄をクリックしてフォーカス
558
+ await usernameInput.click();
559
+ await this.randomDelay(200, 500);
560
+ if (debug) {
561
+ console.log('[InputUsername] Typing username with random delays...');
562
+ }
563
+ // 1文字ごとにランダムな遅延を入れて入力 (50-150ms)
564
+ await usernameInput.type(username, { delay: 50 + Math.random() * 100 });
565
+ // 人間のように入力後に少し待機
566
+ await this.randomDelay(500, 1500);
567
+ if (debug) {
568
+ await page.screenshot({ path: 'step-2-after-username-type.png' });
569
+ console.log('[InputUsername] Username typed, looking for Next button...');
570
+ }
571
+ const nextButton = await this.getElement(page, 'div.css-175oi2r button.r-13qz1uu', 10000);
572
+ if (nextButton) {
573
+ if (debug) {
574
+ console.log('[InputUsername] Next button found, clicking...');
575
+ }
576
+ // マウス移動のようにクリック前にランダムな遅延
577
+ await this.randomDelay(300, 800);
578
+ await nextButton.click();
579
+ }
580
+ else {
581
+ if (debug) {
582
+ console.log('[InputUsername] Next button not found with original selector, trying alternative...');
583
+ }
584
+ // テキストでボタンを探してクリック
585
+ const buttons = await page.$$('button');
586
+ for (const button of buttons) {
587
+ const text = await button.evaluate((el) => el.textContent);
588
+ if (text && (text.includes('Next') || text.includes('次へ'))) {
589
+ if (debug) {
590
+ console.log('[InputUsername] Found Next button by text, clicking...');
591
+ }
592
+ await this.randomDelay(300, 800);
593
+ await button.click();
594
+ await (0, promises_1.setTimeout)(3000);
595
+ return;
596
+ }
597
+ }
456
598
  throw new exceptions_1.TwitterOperationError('Next button not found.');
457
599
  }
458
- await nextButton.click();
600
+ if (debug) {
601
+ await (0, promises_1.setTimeout)(1000);
602
+ await page.screenshot({ path: 'step-3-after-next-click.png' });
603
+ }
604
+ // ページ遷移を待機
605
+ await (0, promises_1.setTimeout)(3000);
459
606
  }
460
607
  async inputPassword(page, password) {
461
- const passwordInput = await this.getElement(page, 'input[autocomplete="current-password"]', 3000);
608
+ const debug = this.options.debugOptions?.debugLog;
609
+ if (debug) {
610
+ await page.screenshot({ path: 'step-4-before-password.png' });
611
+ }
612
+ const passwordInput = await this.getElement(page, 'input[autocomplete="current-password"]', 10000);
462
613
  if (!passwordInput) {
614
+ if (debug) {
615
+ console.log('[InputPassword] Password input not found');
616
+ }
463
617
  return;
464
618
  }
465
619
  if (!password) {
466
620
  throw new exceptions_1.TwitterOperationError('Password required.');
467
621
  }
622
+ if (debug) {
623
+ console.log('[InputPassword] Found password input, typing...');
624
+ }
468
625
  await passwordInput.type(password, { delay: 100 });
469
- const loginButton = await this.getElement(page, 'button[role="button"][data-testid="LoginForm_Login_Button"]', 3000);
626
+ if (debug) {
627
+ await page.screenshot({ path: 'step-5-after-password-type.png' });
628
+ console.log('[InputPassword] Password typed, looking for Login button...');
629
+ }
630
+ const loginButton = await this.getElement(page, 'button[role="button"][data-testid="LoginForm_Login_Button"]', 10000);
470
631
  if (!loginButton) {
632
+ if (debug) {
633
+ console.log('[InputPassword] Login button not found');
634
+ }
471
635
  throw new exceptions_1.TwitterOperationError('Login button not found.');
472
636
  }
637
+ if (debug) {
638
+ console.log('[InputPassword] Login button found, clicking...');
639
+ }
473
640
  await loginButton.click();
641
+ if (debug) {
642
+ await (0, promises_1.setTimeout)(1000);
643
+ await page.screenshot({ path: 'step-6-after-login-click.png' });
644
+ }
645
+ // ログイン処理を待機
646
+ await (0, promises_1.setTimeout)(3000);
474
647
  }
475
648
  async inputAuthCode(page, otpSecret) {
476
- const authCodeInput = await this.getElement(page, 'input[data-testid="ocfEnterTextTextInput"][inputmode="numeric"]', 3000);
649
+ const authCodeInput = await this.getElement(page, 'input[data-testid="ocfEnterTextTextInput"][inputmode="numeric"]', 10000);
477
650
  if (!authCodeInput) {
478
651
  return;
479
652
  }
@@ -482,14 +655,16 @@ class TwitterScraper {
482
655
  }
483
656
  const authCode = otplib_1.authenticator.generate(otpSecret);
484
657
  await authCodeInput.type(authCode, { delay: 100 });
485
- const nextButton = await this.getElement(page, 'button[role="button"][data-testid="ocfEnterTextNextButton"]', 3000);
658
+ const nextButton = await this.getElement(page, 'button[role="button"][data-testid="ocfEnterTextNextButton"]', 10000);
486
659
  if (!nextButton) {
487
660
  throw new exceptions_1.TwitterOperationError('Auth code next button not found.');
488
661
  }
489
662
  await nextButton.click();
663
+ // ページ遷移を待機
664
+ await (0, promises_1.setTimeout)(3000);
490
665
  }
491
666
  async inputEmailAddress(page, emailAddress) {
492
- const emailInput = await this.getElement(page, 'input[data-testid="ocfEnterTextTextInput"][inputmode="text"]', 3000);
667
+ const emailInput = await this.getElement(page, 'input[data-testid="ocfEnterTextTextInput"][inputmode="text"]', 10000);
493
668
  if (!emailInput) {
494
669
  return;
495
670
  }
@@ -497,11 +672,13 @@ class TwitterScraper {
497
672
  throw new exceptions_1.TwitterOperationError('Email address required.');
498
673
  }
499
674
  await emailInput.type(emailAddress, { delay: 100 });
500
- const nextButton = await this.getElement(page, 'button[role="button"][data-testid="ocfEnterTextNextButton"]', 3000);
675
+ const nextButton = await this.getElement(page, 'button[role="button"][data-testid="ocfEnterTextNextButton"]', 10000);
501
676
  if (!nextButton) {
502
677
  throw new exceptions_1.TwitterOperationError('Email next button not found.');
503
678
  }
504
679
  await nextButton.click();
680
+ // ページ遷移を待機
681
+ await (0, promises_1.setTimeout)(3000);
505
682
  }
506
683
  /**
507
684
  * TwitterScraperPage インスタンスを作成します。
@@ -529,41 +706,41 @@ class TwitterScraper {
529
706
  /**
530
707
  * Puppeteer ブラウザインスタンスを作成します。
531
708
  *
532
- * @returns Puppeteer ブラウザインスタンス
709
+ * @returns Puppeteer ブラウザインスタンスと初期ページ
533
710
  */
534
711
  async createBrowser() {
535
- const width = this.options.puppeteerOptions?.defaultViewport?.width ?? 600;
536
- const height = this.options.puppeteerOptions?.defaultViewport?.height ?? 1000;
537
- const puppeteerArguments = [
538
- '--no-sandbox',
539
- '--disable-setuid-sandbox',
540
- '--disable-dev-shm-usage',
541
- '--disable-accelerated-2d-canvas',
542
- '--no-first-run',
543
- '--no-zygote',
544
- '--disable-gpu',
545
- '--lang=ja',
546
- `--window-size=${width},${height}`,
547
- '--disable-session-crashed-bubble',
548
- ];
712
+ const puppeteerArguments = [];
549
713
  if (this.options.puppeteerOptions?.enableDevtools) {
550
714
  puppeteerArguments.push('--auto-open-devtools-for-tabs');
551
715
  }
552
716
  if (this.options.puppeteerOptions?.proxy?.server) {
553
717
  puppeteerArguments.push('--proxy-server=' + this.options.puppeteerOptions.proxy.server);
554
718
  }
555
- const userDataDirectory = this.options.puppeteerOptions?.userDataDirectory ?? '/data/userdata';
556
- const browser = await puppeteer_core_1.default.launch({
719
+ // chrome-launcher に渡すオプション(executablePath, userDataDirectory
720
+ const customConfig = {};
721
+ if (this.options.puppeteerOptions?.executablePath) {
722
+ customConfig.chromePath = this.options.puppeteerOptions.executablePath;
723
+ }
724
+ if (this.options.puppeteerOptions?.userDataDirectory) {
725
+ customConfig.userDataDir = this.options.puppeteerOptions.userDataDirectory;
726
+ }
727
+ // puppeteer.connect() に渡すオプション(defaultViewport)
728
+ const connectOption = {};
729
+ if (this.options.puppeteerOptions?.defaultViewport) {
730
+ connectOption.defaultViewport =
731
+ this.options.puppeteerOptions.defaultViewport;
732
+ }
733
+ // ボット検出回避のため puppeteer-real-browser を使用
734
+ const result = await (0, puppeteer_real_browser_1.connect)({
557
735
  headless: false,
558
- executablePath: this.options.puppeteerOptions?.executablePath,
559
- channel: 'chrome',
560
736
  args: puppeteerArguments,
561
- defaultViewport: {
562
- width,
563
- height,
564
- },
565
- userDataDir: userDataDirectory,
737
+ turnstile: true,
738
+ disableXvfb: process.platform === 'win32',
739
+ customConfig,
740
+ connectOption,
566
741
  });
742
+ const browser = result.browser;
743
+ const page = result.page;
567
744
  process.on('SIGINT', () => {
568
745
  browser
569
746
  .close()
@@ -575,7 +752,7 @@ class TwitterScraper {
575
752
  process.exit(1);
576
753
  });
577
754
  });
578
- return browser;
755
+ return { browser, page };
579
756
  }
580
757
  /**
581
758
  * 新しいページを作成します。
@@ -586,12 +763,17 @@ class TwitterScraper {
586
763
  }
587
764
  const page = await this.browser.newPage();
588
765
  page.setDefaultNavigationTimeout(120 * 1000);
589
- await page.evaluateOnNewDocument(() => {
590
- // eslint-disable-next-line @typescript-eslint/no-empty-function
591
- Object.defineProperty(navigator, 'webdriver', () => { });
592
- // @ts-expect-error __proto__ is not defined in types
593
- // eslint-disable-next-line no-proto, @typescript-eslint/no-unsafe-member-access
594
- delete navigator.__proto__.webdriver;
766
+ // ログイン中にフォーカスが奪われるのを防ぐため、Google Apple の OAuth ポップアップをブロック
767
+ await page.setRequestInterception(true);
768
+ page.on('request', (request) => {
769
+ if (this.isOAuthRequest(request.url())) {
770
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
771
+ request.abort().catch(() => { });
772
+ }
773
+ else {
774
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
775
+ request.continue().catch(() => { });
776
+ }
595
777
  });
596
778
  if (this.options.puppeteerOptions?.proxy?.username &&
597
779
  this.options.puppeteerOptions.proxy.password) {
@@ -642,6 +824,7 @@ class TwitterScraper {
642
824
  endpoint: name,
643
825
  url,
644
826
  requestHeaders: JSON.stringify(request.headers()),
827
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
645
828
  requestBody: request.postData() ?? '',
646
829
  responseType,
647
830
  statusCode: response.status(),
@@ -1 +1 @@
1
- {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}