728x90
이전글에 BeautifulSoup에 추가로 엑셀에 가져온 데이터를 입력하고 저장하는 내용입니다
추가된 내용으로는 가장 먼저 파이썬에서 엑셀을 사용하기 위한 작업입니다
1. from openpyxl import Workbook 먼저 import 해주기
2. 원하는 사이트 url 변경하기
3. data_html에 필요한 css값 입력하기(연속된 데이터를 추천합니다 예시로 네이버에 검색한 블로그 리스트, 카페 리스트 등)
4. for문을 통해 여러 번 작업 진행하여 배열형식으로 추가
5. 엑셀 시트명, 배열에 입력된 값 입력, 폴더와 파일이름을 작성하고 저장하기
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
url = 'https://sports.news.naver.com/index'
response = requests.get(url)
response.raise_for_status()
html = response.text
soup = BeautifulSoup(html, 'html.parser')
data_html = soup.select_one('#content > div > div.today_section.type_no_da > ul')
trs = data_html.select('li')
datas = []
for tr in trs:
title = tr.select_one('a > div.text_area > strong').get_text()
detail = tr.select_one('a > div.text_area > p').get_text()
news = tr.select_one('a > div.text_area > div > span:nth-child(1)').get_text()
type_sport = tr.select_one('a > div.text_area > div > span:nth-child(2)').get_text()
datas.append([title, detail, news, type_sport])
write_wb = Workbook()
write_ws = write_wb.create_sheet('Sheet2')
for data in datas:
write_ws.append(data)
write_wb.save(r'C:\RPA/Result_File.xlsx')
해당 테스트를 진행하면서 분명 화면에서는 총 5개의 데이터가 있는데 자꾸 6번 데이터가 나오길래 광고가 추가 되는 줄 알았는데 광고도 아니어서 뭐가 문제인지 확인해 봤더니 실제 개발자도구에서 확인해 보면 6번에 데이터가 있는 걸 확인할 수 있다 화면에는 광고가 뒤쪽 베이스는 실제 데이터가 있다
728x90
반응형
'RPA' 카테고리의 다른 글
SAP VBA 사용할 때 (0) | 2023.05.03 |
---|---|
Python pyautogui 이미지 클릭 (0) | 2023.05.02 |
파이썬 크롤링 BeautifulSoup 사이트 데이터 추출하기 (0) | 2023.02.09 |
python 카카오톡 그룹방 메세지 보내기 Bat 파일 수행하기 (0) | 2022.12.21 |
RPA 카카오톡 그룹톡방 메세지 가져오기 with python (0) | 2022.12.20 |
댓글