• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

for 문을 사용하지 않고 text list 로 뽑아내기

20.11.09 15:39 작성 조회수 147

0

강사님 안녕하세요.

Selenium을 활용해서 크롤링을 진행하고 있는데 속도가 굉장히 느려 고민이 많습니다.

구글링을 좀 해보니 image를 가져오는 부분을 disable 상태로 만들거나 multiprocessing 을 활용하라는 등의 방법이 나오는데요.

시간 순서대로 datepicker 를 조작하면서 진행하고 있어서 multiprocessing을 활용하기가 쉽지는 않았고 image를 가져오지 않아도 시간이 줄지 않았습니다.

그래서 elems = driver.find_elements_by_css_selecter() 를 활용해서 elems을 가져온 후

elems를 for문을 돌지 않고 text list로 뽑아내는 방법이 있다면 빠르게 진행할 수 있지 않을까 하는 생각을 했습니다.

혹시 관련된 방법을 알고 계신게 있는지 질문드립니다.

감사합니다 :)

답변 1

답변을 작성해보세요.

0

안녕하세요.

selenium 은 속도가 PC 환경에 따라, 느릴 수 있습니다. 이 부분을 튜닝할 수는 있겠지만, 획기적으로 개선하기는 쉽지 않을 수 있고요. 말씀하신 부분의 코드로는 무슨 코드인지 알기도 쉽지 않기도 하고요. 

이 부분을 획기적으로 개선한 것이 scrapy 이긴 해요. 물론 scrapy 로 동적 페이지를 크롤링하지는 않기는 하지만요(이 부분도 관련 추가 기능이 잇기는 한 것으로 알고 있습니다.) 이후 강의에서 나오는 scrapy 를 익혀보시면 좋을 것 같습니다.

감사합니다.