본문 바로가기

자바스크립트

[웹크롤링] 자바스크립트로 이루어진 페이지와 html로 이루어진 페이지를 크롤링 하는 코드가 다른가요? 1. html로 이루어진 페이지 html로 이루어진 페이지를 크롤링하는 것은 자바스크립트로 이루어진 페이지를 크롤링하는 것과 다르게 코드를 작성해야 하는지 궁금하실 수 있는데요, html로 이루어진 페이지와 자바스크립트로 이루어진 페이지를 크롤링하는 방법은 약간 다르답니다! html로 이루어진 경우 간단하게 url을 찾고 BeautifulSoup()를 이용하여 본문을 가져오면 되는데요, 기본적으로 다음과 같이 코드를 입력하면 됩니다. from bs4 import BeautifulSoup import requests url = "https://www.naver.com/" resp = requests.get(url,params) soup = BeautifulSoup(resp.content, 'lxml') 2.. 더보기
[웹크롤링] 자바 스크립트로 이루어진 페이지, json 형식으로 불러오는 방법은? 동적 페이지와 같이 자바스크립트로 이루어진 페이지를 json으로 불러온 뒤, 크롤링을 해야 경우가 있을 수 있는데요, 이러한 경우 어떻게 해야 할까요? 우선, 자바스크립트로 이루어진 페이지의 url을 찾아야 합니다. 이전 글에서 자바스크립트로 이루어진 페이지의 url을 찾는 방법에 대해 살펴보았는데요, 다시 간단하게 설명하자면, F12를 누른 뒤 [Network] 탭에서 "XHR", 또는 "JS" 버튼을 누르며 보이는 항목들을 클릭하면 됩니다. 그리고, 항목들을 미리보기(Preview) 하면서 해당되는 영역이 맞다면 "Headers" 에서 Request URL 부분을 복사하면 됩니다. 아래 이미지처럼 URL을 찾아서 복사하면 됩니다. 그리고나서, 아래와 같이 코드를 작성했다고 가정할 때, url = "자.. 더보기
[웹크롤링] 자바스크립트 페이지의 url 찾는 방법 자바스크립트로 이루어진 페이지 또는 영역을 크롤링하려면, 해당 페이지의 url을 알아야 하는데요, 자바스크립트 페이지의 url을 알아내는 방법은 F12를 누른 뒤 [Network] 탭에서 "XHR" 또는 "JS" 버튼을 누르며 보이는 항목들을 클릭해보면서 찾아야 합니다. 아래 페이지는 네이버 금융 페이지에서, [Network] 탭의 "XHR" 을 눌렀을 때 보이는 화면입니다. 아래 각 항목을 누르면 어느 영역을 나타내는 항목인지 가늠할 수 있는데요, 원하는 항목을 찾으면 오른쪽 "Headers"에서 "Request URL" 부분을 복사하면 됩니다. 한 URL 을 골라서 주소창에 입력해본 결과 아래와 같은 페이지를 확인할 수 있습니다. 따라서 이와 같이 해당 url을 찾으면 이제 이 url을 자신의 코드에.. 더보기
[웹크롤링] 자바스크립트 비활성 하는 방법 예를 들어, 구글에서 이미지를 크롤링할 때, html 말고도 자바스크립트로 이루어진 이미지가 있을 수 있는데요, 이러한 겨우 자바스크립트를 비활성 해서 이미지를 수집해야 합니다. 한편, 해당 페이지가 자바스크립트로 이루어졌는지 확인하는 경우에도 자바스크립트를 비활성하면 되는데요, 자바스크립트를 비활성하는 방법은 F12를 누른 뒤, [setting(톱니바퀴)] - [Preferences] - [Debugger] 에서 'Disable JavaScript' 를 체크하면 됩니다. 아래 이미지처럼 오른쪽 하단에 체크박스에 체크를 하면 됩니다. 그리고나서, F5를 눌러 페이지를 새로고침 했을 때, 해당 페이지가 나오지 않거나, 일부분이 안 보인다면 그 영역은 자바스크립트로 이루어졌다고 보면 됩니다. 저는 위 이미지.. 더보기