seleniumによるサイトへのアクセスを拒否するように設定できるでしょうか?

1,394 views
Skip to first unread message

tkxn

unread,
Feb 9, 2019, 5:45:34 PM2/9/19
to 日本Seleniumユーザーコミュニティ
こんにちは、先日こちらで『XpathによるXML要素の選択手順』でいろいろと教えていただきましたtkxnです。

その後、対象サイトからデータクローリングすべく検討を進めておりました。
ところが、先日、対象サイトに障害が発生し、その後、一応は復旧したようなのですが、
手動では通常通り操作できるものの、IDEやPythonスクリプトなどのseleniumによる操作が一切不可能となりました。

seleniumでもサイトへのログインはできるのですが、次の ページ  (前回質問時問題となっていたページ)から先に進めなくなりました。
エラーはその時と同じ以下のNoSuchElementException:です。
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException:

前回質問時は、sleepやimplicitly_waitを入れることにより解決しましたので、設定値を60→600と10倍にして試してみましたが、だめでした。
また、前回質問時はIDEでは次ページが開けて、それをそのままPythonのスクリプトで実行するとできないということでしたが、今回はIDEでもできません。

今回、この動作を見ていて一点確認したい点があります。サイト側の設定によりseleniumによるアクセス「のみ」拒否することができるかということです。

データクローリング関係の書籍などには必ず「秒単位などでデータクローリングをすることは、対象サイトに過大な負荷をかける恐れがあるため配慮して」云々といった記述があります。これを防止するため、サイトの側で(通常の手動によるアクセスと違い、seleniumによるアクセスと認識して)seleniumによるアクセス「のみ」拒否することがあるのでしょうか(サーバー側をこのように設定することが可能であるのでしょうか)。

よろしくお願いいたします。

戸田広

unread,
Feb 9, 2019, 10:43:48 PM2/9/19
to tkxn, 日本Seleniumユーザーコミュニティ
> seleniumでもサイトへのログインはできるのですが、次の ページ  (前回質問時問題となっていたページ)から先に進めなくなりました。

画面のHTMLの構造が変わったのではないでしょうか。

> 今回、この動作を見ていて一点確認したい点があります。サイト側の設定によりseleniumによるアクセス「のみ」拒否することができるかということです。

できます。
また、拒否するだけの動機も十分にあります。
機械的なアクセスはサービス提供者側からすると何も良いことが無いだけでなく、悪いことすらあるからです。


2019年2月10日(日) 7:45 tkxn <tkxn...@gmail.com>:
--
このメールは Google グループのグループ「日本Seleniumユーザーコミュニティ」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには seleniumjp+...@googlegroups.com にメールを送信してください。
このグループに投稿するには selen...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

タカミテツロウ

unread,
Feb 10, 2019, 3:35:38 AM2/10/19
to 戸田広, tkxn, 日本Seleniumユーザーコミュニティ
こんにちは

Chromeでは 検証しておりませんが

elem_segmented_btn = driver.find_element_by_xpath("(//a[contains(text(),'新取引システム')])[3]")
elem_segmented_btn = driver.find_element_by_xpath("(//a[contains(text(),'取引システム')])[3]")

に変更してもだめでしょうか?

seleniumによる操作が一切不可 とあるので 駄目かもしれませんが‥




2019年2月10日(日) 12:43 戸田広 <hiros...@ossaaaan.com>:

tkxn

unread,
Feb 10, 2019, 4:35:46 PM2/10/19
to 日本Seleniumユーザーコミュニティ
みなさま、返信ありがとうございます。
タカミさん、前回いろいろありがとうございました。

>できます。また、拒否するだけの動機も十分にあります。
機械的なアクセスはサービス提供者側からすると何も良いことが無いだけでなく、悪いことすらあるからです。

うーん、そうですか?今回の場合、障害のためという可能性もありますので(障害発生は運営者側に確認済です)、
動作に変化がないか見てみたいとかんがえております。

ところで、運営者側でseleniumなどのアクセスを意図的にブロックしているということを確かめる方法というのはないでしょうか?
例えば、インラインコマンドを入力すると"Access tru Selenium was denied by server..."などといったメッセージが表示されるなどです。


タカミさま、

>Chromeでは 検証しておりませんが
前回、詳細お伝えしたのですが、Chrome以外例えば、FireFoxなどでは動作確認できるということでしょうか?

草野


2019年2月10日日曜日 7時45分34秒 UTC+9 tkxn:
Reply all
Reply to author
Forward
0 new messages