前提
Excel(VBA)+Selenuimでスクレイピングのツールを作っていますが、手動でChromeを起動してアクセスした際には正常に表示されるのですが、Seleniumから呼び出したChromeだとアクセスが弾かれてしまいます。
Seleniumなどを使うと、サーバー側からツールを使ったアクセスだと識別する方法があるらしいのですが、それを隠蔽する方法はありますでしょうか?
> Seleniumから呼び出したChromeだとアクセスが弾かれてしまいます。
「Seleniumから呼び出したChrome」が「アクセスが弾かれ」る原因というのは、どうやって特定されたのでしょうか?
コードを掲載いただくことは可能でしょうか?
コメントありがとうございます。
以前はこのままでも使えていたのですが、サイトがアタックを喰らったみたいで
チェックが入るようになったようです。
明示的にアクセス拒否されるわけではありませんが、以下のメッセージが出てきて、永久ループしてしまいます。
Checking if the site connection is secure
This check is taking longer than expected. Check your Internet connection and refresh the page if the issue persists.
手動でChromeでアクセスした場合は問題なく表示されます。
SeleniumからChromeを起動した場合は上記のような事象になります。
コードの抜粋です。
URLは伏せてあります。
----- 以下コード -----
Dim DRIVER As New Selenium.WebDriver
Dim strURL As String
strURL = "https://****************************************"
DRIVER.Start "chrome"
DRIVER.Get strURL
サーバ側にSeleniumのアクセスを許さない仕組みが入っているのであるならば
スクレイピングそのものを禁止している可能性が高いと思います。
利用規約を確認する必要があると感じました。
URLが不明なので回答者側で検証不可能ですね。ただアクセス拒否されると切断されることが多いと思うので「永久ループしてしまいます」という現象には出会ったことがないですね。
コメントありがとうございます。
永久ループは同じURLにリダイレクトして、クライアントの環境チェックを繰り返しているようです。
URLは後悔しない方がいいかなと思っていたのですが、以下のURLです。
https://hidemy.name/en/proxy-list/?type=45#list
海外のSOCKプロキシの一覧を公開しているサイトで、ここからSOCKSプロキシの一覧を取得して、他のデータ収集に使っていました。
もし、お時間あれば、私の自称認識が正しいかどうかをテストしていただけるとありがたいです。
