-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
질문드립니다
22.07.22 23:12 작성 조회수 163
1
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
keyword = input("검색어를 입력하세요")
lastpage = input("마지막 페이지 번호를 입력해 주세요")
pageNum = 1
for i in range(1, int(lastpage) * 10, 10):
print(f"{pageNum}페이지 입니다.~~~~~~~~~~~~~~~~~")
response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={keyword}&start={i}")
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.select(".news_tit")
wb = Workbook()
ws1 = wb.active
ws1.title = "연습"
ws1.append(["제목", "링크"])
print(links)
for link in links:
title = link.text
url = link.attrs['href']
print(title, url)
ws1.append([title, url])
pageNum = pageNum + 1
wb.save(filename='연습.xlsx')
네이버 기사 제목과 url 수집한 걸 엑셀에 옮겨보려고 합니다. 터미널에서는 마지막 페이지 번호 입력를 4로 했다고 하면 총 40개의 제목과 링크가 나타나는데 엑셀에는 옮겨지기는 하는데 10개의 기사 제목, 링크만 옮겨집니다. 어떻게 수정해주어야 할까요?
답변을 작성해보세요.
1
스타트코딩
지식공유자2022.07.24
wb, ws를 선언하는 부분을
첫번째 for문 밖으로 빼내셔야 합니다.
아니면 for문 돌때마다 계속 새로운 wb와 ws를 만들게 돼요!
먼저 반복문을 상세히 학습하고 오십쇼!!
https://youtu.be/j58o7UU2kNs?list=PLNO7MWpu0eeVfqT9ehXWf9CdRALusjUsU
답변 1