인프런 커뮤니티 질문&답변

송의정님의 프로필 이미지
송의정

작성한 질문수

동적 크롤링에 관련하여 질문 드립니다.

작성

·

667

0

안녕하세요. 이번에 크롤링 강의를 듣고 있는 수강생 입니다. 

현재 네이버 지도에서 위치를 검색 후 클릭 -> 클릭-> 한 후 네이버의 한줄평 리뷰 를 크롤링 하는 자체 프로젝트를 진행중입니다. 

 

이때, 검색창을 찾고, click() 을 이용해 Crawling 을 위한 (3) 페이지 로딩까지는 성공하였으나, 

옆의 화면에서 click 및 어떠한 활동도 할 수 없는 상태입니다. 

 

제 소스 코드는 이렇습니다. 

 

for l in list_loc:
ele = l.split((','))[:-1]
comp = unicodedata.normalize('NFC',ele[-1][-1])
if comp != dong and comp != eup and comp != myun and comp != lee and comp != ga :continue
address = ele[0]+' '+ele[1]+ ' '+ele[2]+' 식당'
add_quote = urllib.parse.quote(address)

driver.get(url)
sleep(1)
key_search = address
time_wait(2,'div.input_box > input.input_search')
search = driver.find_element(By.CSS_SELECTOR,'div.input_box > input.input_search')
sleep(1)
search.send_keys(key_search)
search.send_keys(Keys.ENTER)
res = driver.page_source
soup = BeautifulSoup(res, 'html.parser') # html 파싱하여 가져온다

sleep(1)
def switch_frame(frame):
driver.switch_to.default_content() # frame 초기화
driver.switch_to.frame(frame) # frame 변경
res
soup

def page_down(num):
body = driver.find_element(By.CSS_SELECTOR,'body')
body.click()
for i in range(num):
body.send_keys(Keys.PAGE_DOWN)

switch_frame('searchIframe')
page_down(3)
sleep(1)
# 매장 리스트
store_list = driver.find_elements(By.CSS_SELECTOR, '._1EKsQ')
next_btn = driver.find_elements(By.CSS_SELECTOR, '._2ky45 > a')
print(len(next_btn), '....')

for btn in range(len(next_btn))[1:]: # next_btn[0] = 이전 페이지 버튼, 1,2 : 광고/ 0,1,2 무시 -> [3]부터 시작
print(next_btn[btn].text, 'adsadsa')

store_list
print(store_list[0].text)
store_page = driver.find_elements(By.CSS_SELECTOR, '.OXiLu')

for data in range(len(store_list)): # 매장 리스트 만큼
#print(data, len(store_page), store_page[data].text, '00')
store_page[data].click()
sleep(2)
try:
driver.switch_to.default_content()
print('switch test1')
sleep(0.5)
driver.switch_to.frame('entryIframe')
sleep(4)
print('switch test2')
reviews = driver.find_elements(By.CSS_SELECTOR,'_2RG_o')
except:pass

 

여기서, (3) 의 페이지가 네이버 지도의 entryIframe 안에 있는 것을 알고, switch frame 을 시도했습니다만, 무슨 락이 걸려 있는것인지 저 entryIframe 이 전혀 검색이 되지 않습니다. 

 

 

하지만 소스 페이지 검색 결과, entryIframe 는 분명이 존재합니다. 

 

제가 무엇을 빼먹은 것인지, 무엇을 잘못 하고 있는 것인지 알고 싶습니다. 감사합니다. 

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
송의정님의 프로필 이미지
송의정

작성한 질문수

질문하기