下記サイトの場合、大学名と複数ある学科名を取得してdataframeに格納したいと考えています。
https://shingakunet.com/searchList/ksl_daitan/ql_ld010/qm_lc111/qs_v3660/
当該事例に関わらず項目ごとに取得情報の数が合わずdataframeに格納できないことは、
scrapingをする上でよく直面する課題となっています。
from selenium import webdriver import pandas as pd driver = webdriver.Chrome() driver.get('https://shingakunet.com/searchList/ksl_daitan/ql_ld010/qm_lc111/qs_v3660/') names = [] div = [] for i in driver.find_elements_by_class_name('__shi_m_heading_primary'): names.append(i.text) for i in driver.find_elements_by_class_name('gakkaSearchScCst__hdg'): div.append(i.text) len(names) 20 len(div) 43 df = pd.DataFrame() df['names'] = names df['div'] = div
divの数に合わせて、nameを取得すれば、datafameにできると思うのですが、
下記ようにしてもnameは同じものを取得してしまいます。
for i in driver.find_elements_by_class_name('gakkaSearchScCst__hdg'): div.append(i.text) elem = driver.find_element_by_class_name('__shi_m_heading_primary') name.append(elem.text)
とても初歩的な質問となりますが、ご教示いただけましたら幸甚です。
何卒よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 00:51
2019/11/06 02:04
2019/11/06 03:51
2019/11/06 04:54
2019/11/06 13:59
2019/11/06 14:48
2019/11/06 15:04