前提・実現したいこと
https://tenshoku.mynavi.jp/search/list/
①上記サイトで、「詳細を見る」に含まれているhref属性の値を取得
↓
②「▶︎」ボタンを押して、次のjavaScriptで表示されるページの「詳細を見る」に含まれているhref属性の値を取得
発生している問題・エラーメッセージ
現状、1ページ目のスクレイピングはできているのですが、javaScriptで表示されつ次のページのスクレイピングができず、全て1ページ目の「詳細を見る」のhref属性が取得されてしまいます。
https://tenshoku.mynavi.jp//jobinfo-127282-1-22-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=1 https://tenshoku.mynavi.jp//jobinfo-256535-1-2-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=2 https://tenshoku.mynavi.jp//jobinfo-254362-1-7-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=3 ・ ・ https://tenshoku.mynavi.jp//jobinfo-196777-1-35-5/?ty=0&searchId=1209365424&pageNum=1&showNo=49 https://tenshoku.mynavi.jp//jobinfo-204416-1-20-1/?ty=0&searchId=1209365424&pageNum=1&showNo=50 https://tenshoku.mynavi.jp//jobinfo-127282-1-22-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=1 https://tenshoku.mynavi.jp//jobinfo-256535-1-2-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=2 https://tenshoku.mynavi.jp//jobinfo-254362-1-7-1/?ty=rzs&searchId=1209365424&pageNum=1&showNo=3 ・ ・ https://tenshoku.mynavi.jp//jobinfo-196777-1-35-5/?ty=0&searchId=1209365424&pageNum=1&showNo=49 https://tenshoku.mynavi.jp//jobinfo-204416-1-20-1/?ty=0&searchId=1209365424&pageNum=1&showNo=50
というように繰り返されてしまいます。
該当のソースコード
from selenium import webdriver from bs4 import BeautifulSoup import requests import time driver = webdriver.Chrome(executable_path='chromedriver') driver.get('https://tenshoku.mynavi.jp/search/list/') html = driver.page_source.encode('utf-8') res = requests.get('https://tenshoku.mynavi.jp/search/list/') res.raise_for_status() soup = BeautifulSoup(res.text, "html.parser") elems = soup.select('.linkArrowS') elems_btn = soup.select('iconFont--arrowLeft') i = 1 def get_url(): time.sleep(2) for elem in elems: if elem.string == '詳細を見る': elem_rink = elem.get('href') if 'msg/' in elem_rink: elem_rp = elem_rink.replace('msg/', '') print('https://tenshoku.mynavi.jp/' + elem_rp) else: print('https://tenshoku.mynavi.jp/' + elem_rink) elem_btn = driver.find_element_by_class_name('iconFont--arrowLeft') elem_btn.click() while i <= 50: get_url() i += 1
補足情報(FW/ツールのバージョンなど)
ヘッダーレスでやればできるというよな記事も見かけたのですが、よくわかりません。
どなたか、教えていただけませんでしょうか?
よろしくお願いいたします。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/01 06:03