작성
·
691
답변 3
1
안녕하세요. 네이버는 크롤링을 가장 싫어해요. 그래서 셀레니움으로 할 때에도 이와 같이 다양한 방법으로 막고 있습니다.
물론 뚤을 수도 있지만, 수시로 웹페이지를 바꿔서 그 때마다 또 막은 부분을 뚤는 것이 시간이 매우 많이 걸립니다.
카페와 로그인 기능은 다음 네이버에서 공식적으로 제공하는 API 를 사용하는 것이 가장 좋습니다. 다만 기능이 제한적이고, 카페의 경우에는 글쓰기시 이미지등이 들어가면, HTML이 적용이 안된다든지 하는 버그가 2017년도 부터 있어왔는데, 아직도 수정을 안한 것 같아요. 네이버는 가급적 접근 안하심을 추천드립니다. 정신건강에 정말 안좋더라고요.
0
id_field = driver.find_element_by_name('id')
id_field.clear()
id_field.send_keys('아이디아이디')
id_field.send_keys(Keys.RETURN) -------> 이 줄을 삭제해보세요.
현재 코드는 id칸을 선택하고, 혹시 입력돼 있는 내용이 있으면 지우고, 아이디를 입력한 후, 엔터를 누르는 코드입니다.
문제는 비밀번호를 누르기 전에 아이디만 입력하고 엔터를 누른다는 것입니다.
아시다시피 평소에 네이버 로그인할 때 아이디만 입력하고 로그인 버튼을 누르면 로그인이 되지 않고 비밀번호를 잘못 입력한 것으로 인식될 수 있습니다. 이를 반복하면 기계로 의심해서 자동입력 방지 문자를 입력하는 페이지로 넘어가게 되죠.
아마도 기존 코드를 가지고 왜 되지 않는지 몇 번 테스트하셨던 것 같습니다. 네이버에 수동으로 로그인하셨다가 로그아웃하신 후 수정된 코드로 시도해보세요.
0