• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

selenium으로 여러페이지 수집시 질문

22.07.01 13:41 작성 조회수 189

0

안녕하세요 selenium을 활용하여 페이지의 여러페이지 수집을 하려던 중 궁금사항이 있어서 글을 남깁니다.
 
selenium과 beautifulsoup을 활용하여 여러페이지 게시글 정보를 수집하려고 하던 중
 
게시물 A 정보a(분류), 정보b(지역), 정보c(주소) 게시물 B 정보a(분류), 정보b(지역), 정보d(이용요금) 게시물 C 정보a(분류), 정보b(지역), 정보c(주소) 게시물 D 정보a(분류), 정보b(지역), 정보f(홈페이지) => 게시물에서 분류, 지역, 주소 정보를 가지고 올려고 하였으나.. 사이트 구조상 각 컬럼별로 인덱스번호를 지정하여 가지고 와야 하는 구조!(개별적으로 정보수집이 안됨) 떄문에 주소가 아닌 B게시물에서는 이용요금, 게시물 D에는 홈페이지정보가 수집이 되어버립니다.
 
예를 들면...
ex) 분류 = soup.select()[0].text, 지역 = soup.select()[1].text, 주소 = soup.select()[2].text
 
물론 이용요금과 홈페이지정보를 예외처리하고 주소가 아니면 공백으로 남기게금 해볼려고 하였으나..
 
잘 안되더라구요..ㅠㅠ
 
이처럼 데이터가 균일하게 들어있지 않은 여러 페이지 게시물 정보를 수집할려고 할때 어떤 알고리즘과 로직으로 처리해야할까요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변도우미입니다.

우선 각자 원하시는 사이트 크롤링 코드를 가이드드리기는 강의가 평상 강의라서, 양해부탁드려요. 충분히 이해하시겠지만, 본 질문/답변란은 본 강의의 영상이 이해가 안갈 경우등에 대한 질문/답변란이고, 각자의 원하시는 사이트 크롤링을 평생 가이드를 드린다면, 강의를 수강하시면, 크롤링 외주를 다 평생 해결해드리는 상황이 올 수도 있거든요. 이런 부분은 무리가 있는 부분이라서, 이해를 부탁드립니다.  

그럼에도 가볍게라도 의견을 드린다면, 사실 코드는 각 사이트마다 완전히 다를 것이라서, 어떤 의견을 드리기도 애매한데요. 도움이 되실지 모르겠지만, 데이터가 균일하게? 들어있지 않는 페이지 라면, 각 페이지 주소를 체크하고, 각 페이지 주소마다, 다른 포멧을 별도로 선택하는 방식으로 하면 어떨까 하는데 어떠실까요? 사실 코드가 워낙 사이트마다 다를 것이라서, 막연하게 의견을 드리기가 쉽지 않기도 하지만, 특별한 로직이 있기는 어려워보입니다. 페이지 주소를 체크해서, 포멧이 다를 때를 일일이 구별해서, 크롤링하는 방법 이외에는 자동화? 된 로직으로 만드는 부분은 실제로 해당 사이트를 구현해봐야 알 수 있을 듯 합니다. 

감사합니다.