seleniumでアクセスしようとした時にどこからアクセスしたかで判別されて弾かれることがあります。
そんな時にrefererを偽装する方法を記しておきます。
意外と簡単な話でseleniumはjavascriptのコードを実行することができるため、javascriptを駆使します。
その前にまずはrefererとして設定したいサイトにアクセスします。
chrome_options = Options() driver = webdriver.Chrome("/*chromeドライバーのパス*/", chrome_options=chrome_options) driver.get("/*refererとして設定したいサイトのurl*/")
そしてseleniumにはjavascriptを実行するapiが存在します。
driver.execute_script(/*ここにjavascriptのコードを書く*/)
がjavascriptを実行するapiです。
ここのjavascriptに要素を書き換える命令を使って
なにかしらの要素をaタグに書き換えます。
そうです。自分が指定したurlにアクセスし、htmlの要素を書き換えてリンクを作成し、クリックしてそのサイトにアクセスすればrefererは自分で決めることができます。
そして下記のコードをサイトに合わせて書き換えて実行します。
var refererselector=document.getElementById("/*なにかしらのhtmlの要素のid*/"); refererselector.innerHTML="<a id='refererurllink' href=''+str(imgurl)+''>吹っ飛べ!</a>"
そしてseleniumのapiでクリックします。
element=driver.find_element_by_id("refererselector") element.click()
これらを一つのpythonのプログラムにまとめると下記のようになります。
driver.execute_script('var refererselector=document.getElementById("/*なにかしらのhtmlの要素のid*/");refererselector.innerHTML="<a id='refererurllink' href=''+str(imgurl)+''>吹っ飛べ!</a>"') element=driver.find_element_by_id("refererurllink") element.click()
いかがだったでしょうか?
これで403エラーも怖くないですね☆
月曜日, 1月 24, 2022 at 02:58:12
Simple forex trading strategies for beginners. https://system-forex.com
水曜日, 3月 30, 2022 at 14:46:49
Le forex. https://fr.forex-stock-bitcoin-brokers.com
日曜日, 4月 17, 2022 at 06:04:28
Πώς να κερδίσετε χρήματα με ανταλλαγή συναλλάγματος. https://gr.forex-stock-bitcoin-brokers.com
土曜日, 3月 23, 2024 at 03:43:06
Все детские спортивные комплексы сертифицированы, производятся в УКРАИНЕ.Проект Благоустройство площадки детского сада .
https://www.alfoot.net/arhiv/season-2015.html
http://yourfootball.org/2013-09-04-futbolnyj-kalejdoskop-31/
http://wpproj.ru/category/fitnes
Стойка для гантелей вертикальная на 6шт.Наши детские площадки, спортивные площадки установлены во многих городах Украины Киев, Харьков, Полтава, Кременчуг, Комсомольск, Днепропетровск, Донецк, Ровно, Запорожье, Луцк, Винница, Черновцы,.