前提・実現したいこと
webサイトのスクレイピングを行っていて、ページ内を自動で移動することを行っています。
具体的には
//a[contains(@href, '#サイトのURL')] 例 //a[contains(@href, 'https://www.yahoo.co.jp/')]
このような形で同じサイト内のリンクを収集してそこからランダムにアクセスするということをしています。
発生している問題・エラーメッセージ
問題としては、hrefが絶対パスのときしかこれはできなくて
(サイトのドメインがhrefに書いてある場合)
サイトによっては、
#example.comというサイトで目的のパスが <a href="/jp/aaa/bbb/ccc/">
のように相対パス?で書かれていてリンクを探すことができません
どうすれば相対パスでもリンクを探すことができるのでしょうか?
ちなみにスクレイピングにはSeleniumとPython3.8を使用しいます。
これがコードです。
わかる方がいらっしゃれば教えて下さいお願いします。
Python
1def movepage(mainurl): 2 elements = browser.find_elements_by_xpath("//a[contains(@href, '{}')]".format(mainurl)) 3 element = random.choice(elements) 4 print(element) 5 browser.execute_script("arguments[0].click();", element) 6 time.sleep(3)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。