一部のWebサイトでは、データを表示する前にログインが必要です。Octoparseでは、必要なセッション状態を保持するようにタスクを設定することで、ログインが必要なページを扱えます。
対象データが認証後にのみ表示され、そのデータへアクセスする権限がある場合に、ログインとCookieのワークフローを使用します。
ログイン設定が必要なケース
ログインまたはCookieは、次のような場合に必要になることがあります。
- Webサイトがアカウントの背後にデータを隠している
- 検索結果または詳細ページに認証が必要
- ログイン後にWebサイトの表示内容が変わる
- 抽出中にセッションが期限切れになる
- ログイン状態が利用できないためクラウド実行が失敗する
- Cookieが地域、言語、ユーザー固有コンテンツを制御している
一般的な流れ
Webサイトを開く
ログインページ、または認証が必要なページから開始します。
ブラウズモードを使用する
通常のブラウザと同じようにページを操作し、ログインを完了するか目的のページ状態に到達します。
セッション設定を保存する
抽出中に必要なログイン状態またはCookie状態を利用できるよう、タスクを設定します。
タスクをテストする
サンプルを実行し、タスクが保護されたコンテンツへアクセスできることを確認します。
期限切れを監視する
Webサイトがユーザーをログアウトさせる、またはCookieを無効化する場合は、タスクを再確認します。
Cookieとセッション
Cookieは、Webサイトがブラウザセッションを認識するための情報を保存します。ログイン状態、設定、地域、言語、トラッキング情報などが含まれる場合があります。
スクレイピングタスクでは、セッションが有効かどうかによってWebサイトが表示するコンテンツが変わるため、Cookieが重要になります。
よくある問題
| 問題 | 考えられる原因 |
|---|
| タスクがログインページを返す | セッションが期限切れになった、またはログイン状態が保持されていない |
| ローカルでは動くがクラウドで失敗する | クラウド実行に同じセッション状態がない |
| 実行ごとにデータが異なる | Cookie、地域、アカウント状態が変わった |
| ログイン後にCAPTCHAが表示される | Webサイトが不自然なセッション挙動を検出した |
| 数ページ後にタスクが停止する | 実行途中でセッションが期限切れになった |
ベストプラクティス
- 使用権限のあるアカウントを使用します。
- クラウド実行の前に、ログインが必要なタスクをローカルでテストします。
- 同じログインセッション中にIPをローテーションしないようにします。
- Cookieが期限切れになったら再認証します。
- ログインリダイレクトがないか、クラウドのログを監視します。
- ログイン手順はできるだけシンプルで安定した形に保ちます。
許可されたデータのみを抽出してください。ログインできることは、そのデータを収集または再利用できることを自動的に意味するものではありません。