0

Python + Selenium + BS4の動的コンテンツ(javascript)ページをスクラップしようとしていて、ページが自分のリクエストをランダムにブロックしています(ソフトはF5 AMS)。Chromeのドライバはどのように機能しますが、Firefox、PhantomJS、HTMLUnitはどのように動作しますか?

私が指定したブラウザごとにユーザーエージェントを変更することで、この問題を回避することができました。問題は、Chromeドライバのみが拒否を渡すことができることです。 PhantomJSやFirefoxのドライバに合わせて調整された同じコードは、ユーザエージェントを変更していないように、が常ににブロックされています。

私はマルチスレッドであると言わなければなりません。つまり、同時に4つのブラウザを起動することです。

どうしてですか?ファイアウォールを通過できるChrome Webdriverは何を提供しなければならないのですか?

私は実際にFirefoxに変更したいので、結果を得る必要があるため、FirefoxをChromeと同じように通過させたいと思います。

+1

ユーザーエージェントを偽装している場合でも、一部のサイトではスクレイピング保護があり、ブラウザの種類を簡単に検出できます。それぞれのJavascriptの動作と実際のブラウザを検出するために使用できるJavascriptの動作には、典型的な違いがあります。仕事はスクレイピングを防ぎ、彼らはうまくやっていると思います。彼らがこれに対してどのような組み合わせを使用しているかを知ることは難しく、あなたの側からまともな研究時間が必要になります。 –

+0

しかし、ユーザーエージェントを変更するたびにChromeのドライバーがセキュリティをバイパスするというヒントはどうですか?この事実を使ってFirefoxを動作させることはできませんか? (geckodriverのユーザーエージェントを変更するだけではうまくいきませんでした) –

答えて

1

2つの単語:ブラウザ指紋。それはそれ自身の権利の中で巨大な話題であり、Tarunが言及したように、この問題をその頭に釘付けするためにかなりの量の研究が必要となる。しかし、私は信じることができる。

関連する問題