0

我想用Python + Selenium + BS4來抓取一個動態內容(javascript)頁面,該頁面隨機阻止我的請求(軟件可能是:F5 AMS)。Chrome驅動程序如何工作,但Firefox,PhantomJS和HTMLUnit沒有?

我設法繞過這個東西,通過更改我指定的每個瀏覽器的用戶代理。事情是,只有Chrome驅動程序可以通過拒絕。相同的代碼,調整爲PhantomJS或Firefox驅動程序被阻止不斷,就像我甚至沒有更改用戶代理。

我必須說我也是多線程,也就是說,同時啓動4個瀏覽器。

爲什麼會發生這種情況? Chrome Webdriver必須提供什麼功能才能通過防火牆,其他則不會?

我真的需要得到結果,因爲我想更改爲Firefox,因此,我想讓Firefox像Chrome那樣通過。

+1

有些網站具有抓取保護功能,即使您僞造了用戶代理,也可以輕鬆檢測瀏覽器的類型。每種Javascript行爲之間有典型的區別,可用於檢測您的實際瀏覽器。這項工作是保護刮擦,我認爲他們做得很好。很難知道他們正在使用什麼樣的組合,並需要從你身邊得到體面的研究時間。 –

+0

但是,如果Chrome驅動程序每次更改用戶代理時都會繞過安全性,那該怎麼辦?我不能用這個事實來使Firefox工作嗎? (只知道更改geckodriver中的用戶代理不起作用) –

回答

1

兩個字:Browser Fingerprinting。這本身就是一個巨大的話題,塔倫提到需要大量的研究來解決這個問題。但我相信可能。

相關問題