작성
·
208
답변 2
1
웹브라우저에 보이는 뉴스 순서와
파이썬으로 크롤링한 뉴스 순서는 조금 다를 수 있습니다.
10번째 페이지부터 크롤링되지 않는 것은 방금 확인해본 결과
해당 페이지 서버쪽에 크롤링 탐지 정책이 새로 생겼습니다.
쉽게 말씀드리면 너무 빨리 크롤링해서 10페이지부터 막아버리는 겁니다.
time.sleep(0.1)~ time.sleep(0.5) 까지 테스트 해본 결과
time.sleep(0.5)초 정도 부여하니 정상적으로 작동 하였습니다.
import requests
from bs4 import BeautifulSoup
import pyautogui
import time
keyword = pyautogui.prompt("검색어를 입력하세요")
lastpage = pyautogui.prompt("마지막 페이지번호를 입력하세요")
pageNum = 1
# 10페이지 까지 가져와보자
for i in range(1, int(lastpage)*10, 10):
print(f"{pageNum}번째 페이지 입니다=================")
print(i)
response = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={keyword}&start={i}")
print(response.url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.select('.news_tit') # 결과는 리스트
for link in links:
title = link.text # 태그 안에 있는 모든 글자
url = link.attrs['href'] # href의 속성값
print(title, url)
pageNum = pageNum + 1
time.sleep(0.5)
0
강의 너무 잘보고 있습니다! 감사합니다