배경:
Python3에서 bs4의 선택을 사용하면 ZOZO 홈페이지 상단의 쿠폰 정보에서 매장 이름을 얻을 수 있습니다. (국내IP는 쿠폰정보를 볼 수 없는 것 같습니다. 스크롤을 하셔야 보실 수 있습니다. 섬나라 IP를 사용하시는 것이 가장 좋습니다.)
질문:
그 사람의 상점 이름이 어디에 쓰여 있는지 찾을 수 없습니다. 어떻게 얻는지 모르겠습니다. 답변을 주세요. 감사해요.
내 코드는 다음과 같습니다.
으아악아래 스크린샷은 당신이 받고 싶은 텍스트입니다,
소스코드에 텍스트가 없는 것을 발견했습니다.
으아악텍스트가 어디에 구현되어 있는지, bs4 select를 사용하여 표시하는 방법을 알려주세요.
大家讲道理2017-05-18 10:47:48
ajax를 사용하여 서버에서 가져온 후 dom을 조작하여 브라우저에서 js를 실행하면 텍스트도 추가됩니다. 크롤러로 크롤링을 했을 때 해당 js를 실행하지 않아서 텍스트를 추가하지 않았습니다.
이런 경우에는 브라우저의 f12에서 네트워크를 확인하고, http 요청의 URL을 찾아 텍스트를 가져온 다음, 이 URL을 직접 요청하여 필요한 정보를 얻을 수 있습니다.
高洛峰2017-05-18 10:47:48
브라우저를 마우스 오른쪽 버튼으로 클릭하고 "웹 페이지 소스 코드 보기"를 통해 텍스트를 찾을 수 없는 경우 이를 크롤링하려면 js 또는 ajax를 사용하여 웹 페이지를 동적으로 로드해야 합니다. 일종의 동적 페이지가 필요합니다. 어느 쪽이든 수동으로 요청을 직접 시뮬레이션하거나 셀레늄을 사용하여 이를 포착할 수 있습니다