質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

1回答

1244閲覧

Rubyでのスクレイピングと偽装

GGGKKK

総合スコア0

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/10/22 20:20

ログイン必須のサイトでスクレイピングするプログラムを作っています。

selenium-webdriverでUserAgentを設定済みです。

options

1options.add_argument('--user-data-dir=D:\tmp\User Data') 2options.add_argument('--profile-directory=Profiel1') 3options.add_argument('--lang=en') 4 5 6driver = Selenium::WebDriver.for :chrome , options: options 7driver.get("chrome://version")

スクレイピングするサイトは、トップページにリストがあり、それぞれボタンをクリックしてページを移動、その先にある情報を取得するようにしています。
サーバーに負荷をかけない&偽装目的でランダムの秒数ウェイトをかけるようにしているのですが、連続して行うと画像認証などが出てきてスクレイピングと判断されているようです。同様の作業を手作業でゆっくり行うと画像認証は出ないため、何らかの対策で判断を回避できると考えています。

自分で考えてみたところ、判断を回避するためには
・ページ移動を「ページ1→ページ2」という風に順番ではなく「ページ5→ページ21」という風にランダムにする
・10件取得したら10分というように長時間のウェイトを入れる
・取得するページを絞る
・プロクシを利用する(ログイン必須なのであまり意味がない?)
この3つを考えていますが、有効でしょうか?
また、他に有効な策はありますか?

ご存じの方がいましたら御教示よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

連続して行うと画像認証などが出てきてスクレイピングと判断されているようです。同様の作業を手作業でゆっくり行うと画像認証は出ないため、何らかの対策で判断を回避できると考えています。

いえ、人間がやっても認証は機能しているのではないでしょうか。reCAPTCHA v3では、「それまでに得られた情報から人間だと判断できた場合、チェックボックスそのものを表示しない」という選択も可能とのことです。

投稿2021/10/23 07:07

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GGGKKK

2021/10/24 10:27

なるほど、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問