• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

Scrapy shell 사용할 때 안되지만 selenium으로 검색하면 작동하는 이유가 뭔가요?

20.09.08 22:08 작성 조회수 204

0

안녕하세요 강사님,

질문드리기에 앞서 항상 수업 잘 듣고 있습니다. 감사합니다.

SK엔카

http://www.encar.com/dc/dc_carsearchlist.do?carType=kor&searchType=model&TG.R=A#!

이 사이트의 차량목록 데이터를 받으려고 했습니다.

아래 사진과 같이 해당 파일의 css를 개발자 도구에서 copy해서 scrapy shell의 response.css 로 검색했으나 [ ] 이렇게 빈칸의 검색 결과가 나왔습니다.

그런데 selenium으로 해당 css로 접근하니까 데이터를 받을 수 있었습니다.   

노란풍선

https://www.ybtour.co.kr/product/localList.yb?menu=PKG&dspSid=AACA000

노란풍선에서도 동일하게 여행지 정보를 얻으려고 scrapy를 사용하니 안되고, selenium을 사용하니 작동이 되었습니다. 

이러한 경우는 scrapy의 response.css의 한계인 건가요 아니면 웹페이지 구조가 다른 홈페이지들과 달라서 발생한 문제인가요?  노란풍선과 sk엔카 홈페이지 모두 해당 url에 데이터가 있다기 보다는 다른 링크를 통해 데이터 정보를 가져오는 느낌을 받았습니다만 제 html 지식이 부족해서 이해하지 못했습니다. 설명 부탁 드립니다.

 

감사합니다.

답변 2

·

답변을 작성해보세요.

1

안녕하세요. 우선 강의 잘듣고 계시다니 다행이고요.

각자 원하시는 코드 관련된 질문은 양해를 부탁드려요. 

간단하게만 말씀드리면, 해당 페이지는 동적웹페이지로 보여요. 그래서 selenium 으로는 동적 웹페이지 내용을 가져오는 것으로 보이고요. scrapy 는 크롤링 기본과 마찬가지로 정적 웹페이지만 가져올 수 있습니다. 그래서 동적 웹페이지 경우에는 selenium 으로 쓰셔야 합니다. 물론 selenium 을 scrapy 와 함께 쓰는 고급 경우가 있기는 한데, scrapy 가 보통 대량 크롤링에 많이 쓰여서요. 이 경우 selenium 과 함께 쓰면, 정상 동작이 잘 안되는 경우가 일부 있었어요. 그래서 동적웹페이지는 selenium, 정적 대량웹페이지 크롤링에는 scrapy 를 쓰시는 편이 좋을 것 같습니다.

감사합니다.

새소식 공지로도 메일을 드렸으니, 다음과 같은 내용을 확인 부탁드려요.

-------

안녕하세요. 잔재미코딩 Dave Lee 입니다.

오늘은 한가지 공지를 드려요~~

그동안 정말 다양하고 많은 분들께서 수강을 해주고 계시는데요. 그러다보니, 질문/답변 란에 동일한 이야기를 드릴 때가 많아서 공유를 드려요.

질문/답변 란에, 각자 원하시는 크롤링 코드 관련 문의를 해주시는 경우가 꽤 있었는데요. 그 때마다, 가급적 배려를 드리는 차원으로, 가볍게 볼 수 있는 부분에 대해서만 답변을 드리기는 했습니다. 하지만, 해당 질문/답변 란은 본 강의 영상과 관련한 질문이 있을 때를 답변해드리는 것이 기본 취지인 것 같아요. 

온라인 수학 강의를 수강하면서, 강의에 나온 수학공식을 사용하는 강의 외에 각자 풀고 있는 수학 문제를 질문하고, 이를 풀어드리는 강의는 본 적이 없는데요. 마찬가지로 본 강의를 수강하시면서, 각자의 코드나, 각자 원하시는 크롤링 코드를 작성해드리거나, 함께 풀어나가는 것은 현실적으로 큰 무리가 있습니다.

더군다나 본 강의가 평생 수강이 가능하기 때문에, 이를 지원해드릴 경우, 본 강의를 들으면 내가 원하는 크롤링 코드는 모두 해결해드려야 하는 오해 아닌 오해도 생길 수 있고요. 심지어, 저도 실제 코드를 작성해봐야 해서, 코드를 작성하느라 답변이 늦어지면, 다른 답변이 늦어질 수도 있어서, 다른 수강생분들께도 문제가 될 수 있을 것 같습니다.

그래서, 질문/답변란에 문의를 주실 때에는 각자의 원하시는 크롤링 코드 관련 문의는 안해주시면 감사하겠습니다. 이 부분 꼭 양해를 부탁드립니다.

또한 가능하다면,

1) 어느 챕터의 몇분(:몇초)정도에서 이 부분이 이해가 안간다 와 같은 식으로 질문을 해주시면,

2) 강의에서 나온 코드는 이미지 캡쳐보다, 코드 자체를 텍스트로 질문에 붙여주시면,

훨씬 저도 이해가 빨라서, 빠르게 지금과 같이 상세하게 답변드릴 수 있을 것 같습니다.

감사합니다.~~~ 잔재미코딩 드림

0

윤진건님의 프로필

윤진건

질문자

2020.09.09

아 동적 웹페이지, 정적 웹페이지 관련 문제였군요 감사합니다 해결되었습니다.