この記事を読んで、面白そうだと思ったのでスレイピングの練習になるかと思い実践してみました。
https://tomowarkar.com/av-scraping/
python
1 2from selenium import webdriver 3import pandas as pd 4import chromedriver_binary 5from time import sleep 6 7data = {"name":[], 8 "image":[]} 9df = pd.DataFrame(data) 10 11url = 'http://www.dmm.co.jp/digital/videoa/-/actress/=' 12driver = webdriver.Chrome() 13next_key = '#main-ds > div.d-area.area-actbox > div:nth-child(3) > p' 14 15sleep(5) 16 17boins=['a', 'i', 'u', 'e', 'o'] 18siins=['', 'k', 's', 't', 'n', 'h', 'm', 'y', 'r', 'w'] 19 20sleep(5) 21 22def function(df): 23 driver.get(url + '/keyword=' + siin + boin) 24 ninzu = driver.find_element_by_css_selector(next_key).text 25 num = -(int(list(map(str,ninzu.split("\u3000")))[0][0:-2])//100) 26 27 for i in range(num): 28 driver.get(url + '/keyword=' + siin + boin + '/page=' + str(i+1)) 29 elements = driver.find_element_by_css_selector("#main-ds > div.d-area.area-actbox > div.d-sect.act-box").find_elements_by_tag_name("img") 30 31 for element in elements: 32 src = element.get_attribute("src") 33 alt = element.get_attribute("alt") 34 35 se = pd.Series([alt,src],["name","image"]) 36 df = df.append(se, ignore_index=True) 37 return df 38 39for siin in siins: 40 if siin == 'y': 41 for boin in boins[::2]: 42 df=function(df) 43 elif siin == 'w': 44 for boin in boins[0]: 45 df=function(df) 46 else: 47 for boin in boins: 48 df=function(df) 49 50df.to_csv("output.csv") 51driver.quit() 52
error
1selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified
以上のエラーが出てしまいます。自分なりに調べてみたのですがめぼしいものが見当たらず行き詰ってしまいました。
お助けお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。