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 | 31 |
Tags
- 카마츠루
- pyenv
- 프라하
- PostgreSQL
- vba
- 三井住友カード
- 메르페이
- 태국
- 페이페이
- 뮌헨
- documentdb
- JenkinsFile
- 방콕
- react.js
- 釜つる
- typescript
- CSV
- 미츠이 스미토모
- javascript
- PayPay
- 체코
- node.js
- duckdb
- local
- 熱海
- codebuild
- Selenium
- 아타미
- terraform
- Python
Archives
- Today
- Total
도쿄사는 외노자
Requests를 사용한 파일 다운로드 본문
Requests
requests 라이브러리는 http통신에 유용하게 사용 가능.
여기서는 NHK에서 제공하는 CSV데이터를 다운로드 받는 용도로 사용해 보자.
import requests
import os
NHK 일본 국내 코로나 감염자수 데이터
url = "https://www3.nhk.or.jp/n-data/opendata/coronavirus/nhk_news_covid19_domestic_daily_data.csv"
파일을 다운로드할 장소
dir = "./"
파일 다운로드
open함수
open(파일명, 모드 옵션, 문자 인코딩)
모드
- ‘w’ : 쓰기 모드 - 설정한 파일명의 파일이 이미 존재하는 경우 덮어씀
- ‘r’ : 읽기 모드
- ‘x’ : 새로 쓰기 모드 - 설정한 파일명의 파일이 이미 존재하는 경우 에러.
- ‘a’ : 쓰기 모드 - 설정한 파일명의 파일이 이미 존재하는 경우, 기존 파일의 맨 끝에 추가해서 씀.
- ‘b’ : 바이너리 모드
def download(url, dir):
# DL Request
res = requests.get(url)
# Response Error Check
try:
status = res.raise_for_status()
except Exception as e:
print("Error:{}".format(e))
# No Error :)
if status == None:
print("DL Start")
# open()함수에 wb를 사용, 바이너리 쓰기 모드로 파일 생성
file = open(os.path.join(dir, os.path.basename(url)), "wb")
# respoonse의 각 chunk를 write()함수를 이용해 위에서 만든 파일에 쓰기
for chunk in res.iter_content(chunk_size=100000):
file.write(chunk)
# 파일 닫기
file.close()
print("DL Complete")
다운로드
download(url, dir)
'Tech > Python' 카테고리의 다른 글
parallel execute sample (2) | 2023.12.06 |
---|---|
newspaper로 네이버 뉴스 가져오기 (0) | 2022.06.10 |
Beautiful Soup로 뉴스 내용 가져오기 (0) | 2022.06.10 |
Requests & BeautifulSoup 기본기 (0) | 2022.06.03 |
Pandas를 이용한 데이터 추출 (0) | 2022.05.27 |