• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

response.css 질문드립니다.

22.07.28 03:58 작성 조회수 211

0

 

response.css('head > title').get() 명령어를 입력하면

title 밑 meta 부분까지 가져와지는데 왜 그런건가요?

 

답변 1

답변을 작성해보세요.

1

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

 

제 PC에서 금일 해봤는데요. 다음과 같이 정상적으로 title 부분만 가져와지긴 하더라고요. 굉장히 이해하기 어려운 현상이긴 한데요. 터미널 환경이 애매해서, head > title 자체의 인코딩이 다르게 넣어졌지 않았을까 유추도 해봤는데요. 그렇다고 하기에는 앞부분에서는 딱 <title> 부터 나와서 희한하긴 합니다. 가져오는 데이터의 </title> 의 / 이 부분이 인식이 안되서 (역시 인코딩 이슈), 그럴수도 있나 싶기도 한데요. 이것은 HTML 을 parsing 하는 parser 이슈일 수는 있는데, 제 PC 에서는 정상동작을 하니, parser 이슈라고 보기는 어려울 것 같거든요. 아니면 진짜 / 을 인식을 못해서일 수 있는데, 이것이 혹시 터미널을 타는 것이 아닐까 조심스럽게 유추를 해봅니다.

 

그래서 터미널 환경을 바꿔보시는 것도 한번 시도해보시면 어떠실까요? 예를 들어, 프로그램 -> Anaconda -> Anaconda prompt 터미널을 오픈하신 후에, 해보시는 것도 좋을 것은 같은데요. 사실 이외에는 딱히 유추가 안되네요. 이것도 안되시면, 다른 PC 가 있다면 한번 해보시면 어떠실까요? 또 response.css 를 쉘에서 진행하는 것은 간단한 문법 이해를 위한 부분이라서, 이후에는 scrapy project 로 진행해서, 해당 project 에서 이슈가 없으면 큰 문제는 없습니다.

 

감사합니다.