250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 동적sql
- exclusive lock
- fetch
- dfs
- SQL프로그래밍
- 이진탐색
- 다대다
- 낙관적락
- 비관적락
- 일대다
- BOJ
- 데코레이터
- 스토어드 프로시저
- 즉시로딩
- 유니크제약조건
- eager
- shared lock
- querydsl
- PS
- FetchType
- 스프링 폼
- 지연로딩
- 백트래킹
- 힙
- 연관관계
- CHECK OPTION
- 다대일
- 연결리스트
- execute
- JPQL
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
웹 크롤링 3 - 크롤링한 데이터들을 파일에 저장하기 본문
728x90
이전 게시물에서 시가총액 상위 기업들의 순위들을 긁어왔었는데, 그것을 txt파일에 저장해보자.
import requests
from bs4 import BeautifulSoup
file = open('rank.txt', 'w')
naver_finance = requests.get('https://finance.naver.com/sise/sise_market_sum.naver')
naver_finance_html = BeautifulSoup(naver_finance.text, 'html.parser')
corps = naver_finance_html.select('tbody .tltle')
file.write('시가총액 순위')
for i in range(1, len(corps)+1):
file.write(f'{i} : {corps[i-1].text}\n')
file.close()
자 그럼, 이 시가총액 TOP 기업들의 랭킹을 매일 자동으로 저장한다고 하자.
사실 시가총액 순위는 매일 변동이 그렇게 크지 않은 주제인데, 코드가 있으니 그냥 예시로 해보기로 하자.
이건 뉴스랭킹 긁어오는 주제가 더 적절한 것 같다.
데이터를 수집하는 날마다 파일명을 바꾸어 'TOP50_2022_02_11.txt' 와 같이 저장한다면 깔끔하겠다.
자 그럼 오늘 날짜를 불러오는 코드가 필요하겠다. datetime 라이브러리를 사용하자.
년월일을 파일명으로 쓰고 싶으면 포매팅을 해야겠다,
datetime 라이브러리의 strftime()함수를 쓰면 된다.
strftime은 String Formatted Time의 약자다.
그럼 오늘 날짜가 포함된 파일명으로 시가총액 상위 기업들의 순위를 저장해보자.
import datetime
import requests
from bs4 import BeautifulSoup
df = datetime.datetime.now().strftime('%Y_%m_%d')
filename = 'TOP50_' + df
file = open(filename, 'w')
naver_finance = requests.get('https://finance.naver.com/sise/sise_market_sum.naver')
naver_finance_html = BeautifulSoup(naver_finance.text, 'html.parser')
corps = naver_finance_html.select('tbody .tltle')
file.write('시가총액 순위')
for i in range(1, len(corps)+1):
file.write(f'{i} : {corps[i-1].text}\n')
file.close()
datetime 모듈에 대해 더 알고싶다면 공식문서 링크
https://docs.python.org/ko/3/library/datetime.html?highlight=datetime#module-datetime
'Web Crawling' 카테고리의 다른 글
웹 크롤링 4 - selenium을 이용해 동적수집을 해보자 (0) | 2022.02.17 |
---|---|
웹 크롤링 2 - 네이버 금융에서 시가총액 상위 기업들 크롤링하기 (0) | 2022.02.17 |
웹 크롤링 1 - requests, bs4 라이브러리 (0) | 2022.02.17 |