ブロックされずにスクレイピングする
フォローする1.待機時間を設定して、スクレイピングを遅くする
ほとんどのWebサイトは、1つのIPアドレスのアクセス速度を検出することによりブロックします。ワークフローにある各オプションの実行前の待ち時間を設定して、スクレイピング速度を制御できます。スクレイピングをより人間らしくするための「ランダム」オプションもあります。
2.できるだけ多くのサーバーを使用する
サイトが単一のIPアドレスから多数のリクエストがあることを検出すると、IPアドレスをブロックします。ページ数が多く、1ページあたりのアイテム数が多いサイトによく見られる現象です。
同じIPアドレスを介してすべてのリクエストを送信しないようにするには、できるだけ多くのサーバーをご利用ください。
方法一:各ページへアクセスするには、ページ送りボタンをクリックするのではなく、URL内のページ番号を変更
ただし、すべてのWebサイトがこのような使い方ができるわけではなく、以下の手順でご確認ください。
1.パソコンのブラウザで目標サイトを開きます。
2.ページめくりボタンで、1ページ目、2ページ目、3ページ目を訪問し、URLを記録します。
3.3つのURLにページ番号を表す数字が含まれているかどうかを確認します。
1.パソコンのブラウザで目標サイトを開きます。
2.ページめくりボタンで、1ページ目、2ページ目、3ページ目を訪問し、URLを記録します。
3.3つのURLにページ番号を表す数字が含まれているかどうかを確認します。
分割可能なURL
https://biz-maps.com/s?category3%5B0%5D=5343&page=1
https://biz-maps.com/s?category3%5B0%5D=5343&page=2
https://biz-maps.com/s?category3%5B0%5D=5343&page=3
-----------------
https://www.wantedly.com/projects?type=mixed&page=1&keywords%5B%5D=%E4%BA%BA%E6%9D%90%E7%B4%B9%E4%BB%8B
https://www.wantedly.com/projects?type=mixed&page=2&keywords%5B%5D=%E4%BA%BA%E6%9D%90%E7%B4%B9%E4%BB%8B
https://www.wantedly.com/projects?type=mixed&page=3&keywords%5B%5D=%E4%BA%BA%E6%9D%90%E7%B4%B9%E4%BB%8B
-----------------
https://www.cosme.net/categories/item/930/product/?page=2
https://www.cosme.net/categories/item/930/product/?page=3
https://www.cosme.net/categories/item/930/product/?page=4
urlの中にページ番号を示す数字があれば、一括url生成ツール(バッチで生成)を使って、ページ番号を含む一連のurlを生成することができます。
方法二:タスクを二つに分ける
- クローラー1(URL):各店舗/商品のリンクのみ取得します
- クローラー2(詳細):クローラー1のリンクをクローラー2に導入し、直接詳細ページにアクセス、データを抽出します。
3.UA(ユーザーエージェント)を切り替えてCookieをクリアする
異常に多数のリクエストに同じUAを使用すると、ブロックにつながります。ブロックを避けるるには、UAを替える必要があります。
Octoparseを使用すると、クローラーでUAの自動ローテーションを簡単に有効にして、ブロックされるリスクを減らすことができます。
また、一部のWebサイトでは、ページへのアクセスに使用するCookieを記憶している場合があります。 Cookieを自動的にクリアして、初めてページにアクセスするようにすることができます。
4.ローカルブラウザまたはログイン状態のクッキーを使用します。
Octoparseの内蔵ブラウザでウェブページを開けない場合やログインできない場合は、コンピュータのブラウザでウェブページを開き、ログインした後、ローカルブラウザのクッキー値をタスクにコピーしてください。
- Google Chromeを例にします。まず、Chromeを開き、ウェブサイトにアクセスします。
- ページを開いた後、キーボードの「F12」キーを押します。これにより、開発者ツールが表示されます。
- 開発者ツールの上部メニューバーで「アプリケーション」タブを選択します。
- 左側のパネルで「ストレージ」セクションを展開します。その下に「Cookie」という項目が表示されますので、クリックします。
- 「Cookie」セクションには、アクセスしたウェブサイトのクッキーが表示されます。必要なクッキーを見つけて、その内容を確認できます。 通常、ログイン状態のクッキー値には次のような特徴があります。
-
ユーザーID: ログインユーザーを識別するための識別子です。通常、"userid"や"user_id"などの名前で表されます。
-
ログイントークン: ログイン状態を確認するためのトークンです。通常、"token"や"auth_token"などの名前で表されます。
これらの特徴を持つクッキー値が、ログイン状態を示す可能性が高いです。ただし、ウェブサイトによっては異なる名前や値を使用している場合もありますので、具体的なウェブサイトの仕様に応じて確認する必要があります。
-
このようにして、ローカルブラウザでウェブサイトのクッキー値を見つけることができます。見つけたクッキー値をOctoparseのタスクにコピーして使用してください。