본문 바로가기

페이지

[웹크롤링] 네이버 - 페이지 자동으로 넘기는 방법 네이버 홈페이지에서 검색어를 입력한 뒤, '뉴스' 탭에서 뉴스 기사 제목들을 크롤링할 때 한 페이지 당 10개의 기사가 나오는데요, 페이지를 넘기지 않는다면 10개까지밖에 크롤링이 되지 않습니다. 따라서 자동으로 페이지를 넘기고, 다시 기사 제목을 크롤링해야 하는데요, 코드를 어떻게 입력해야 페이지를 자동으로 넘길 수 있을까요? 해답은 바로, url 주소에 있는데요, 예를 들어, 네이버 검색창에 '여행'이라고 검색한 다음 뉴스 탭을 누르면 나오는 첫 페이지의 주소가 다음과 같습니다. https://search.naver.com/search.naver?where=news&sm=tab_jum&query=여행 한편, 두 번째 페이지와 세 번째 페이지를 각각 누른 뒤에 주소는 아래와 같이 나오게 됩니다. htt.. 더보기
[웹크롤링] 해당 페이지 캡처(screen shot)하기 - pyautogui 웹 페이지를 크롤링할 때, 페이지를 캡처하는 것도 하나의 데이터가 될 수 있는데요, 화면을 캡처하고 싶다면 'pyautogui' 라는 라이브러리를 사용하면 됩니다. pyautogui 라이브러리는 cmd창에 pip install pyautogui 를 입력하면 설치가 됩니다. 한번 예시로, 네이버 홈페이지를 열고, 해당 화면을 캡처하는 코드를 살펴보겠습니다. 먼저, 아래 코드는 selenium과 크롬 드라이버를 이용하여 네이버 홈페이지를 여는 코드입니다. from bs4 import BeautifulSoup from selenium import webdriver import time path = "c:/temp/chromedriver_240/chromedriver.exe" #chomedriver의 경로 dr.. 더보기
[웹크롤링] 네이버 - 원하는 검색어가 입력된 페이지 열기 네이버에서 원하는 검색어를 입력한 뒤, 해당 페이지를 크롤링하는 방법은 다양한데요, 그중에서도 주소에 대해 params 값을 설정해서 해당 페이지 html을 가져오는 방법에 대해서 살펴보도록 하겠습니다. (selenium을 사용하지 않고, requests를 사용한다는 가정하에 설명드립니다.) 우선, 전체적인 코드를 보여드리도록 하겠습니다. from bs4 import BeautifulSoup import requests url = "https://search.naver.com/search.naver?" params = { 'where' : 'nexearch', 'query' : '여행', 'fbm' : '0' } resp = requests.get(url,params) soup = BeautifulSou.. 더보기
[웹크롤링] 페이지 맨 밑으로 스크롤 하는 방법 이전 글에서는 원하는 픽셀만큼 아래로 스크롤하는 방법에 대해서 살펴보았는데요, 이번에는 같은 함수 execute_script() 함수로 페이지 맨 밑으로 스크롤하는 방법에 대해서 알아보겠습니다. 먼저, 웹 드라이버는 아래와 같이 설정하도록 하겠습니다.(selenium, 크롬드라이버 사용한다는 가정하에 코드입니다.) path = "c:/temp/chromedriver_240/chromedriver.exe" ###자신의 chomedriver의 경로 위치 driver = webdriver.Chrome(path) 웹 드라이버를 'driver' 라는 변수에 저장해주었는데요, 각자 코드에 맞게 입력하시면 됩니다. 그리고나서, 페이지 맨 밑으로 스크롤을 하기 위해 다음과 같이 입력해주면 됩니다. driver.exec.. 더보기