Python 에서 다운로드 한 11 가지 자세(소결)
requests 모듈 을 사용 하여 URL 에서 파일 을 다운로드 할 수 있 습 니 다.
다음 코드 고려:
requests 모듈 의 get 방법 으로 URL 을 가 져 오고 결 과 를'my file'이라는 변수 에 저장 하 십시오.그리고 이 변수의 내용 을 파일 에 기록 합 니 다.
2,wget 사용
Python 의 wget 모듈 을 사용 하여 URL 에서 파일 을 다운로드 할 수도 있 습 니 다.pip 를 사용 하여 아래 명령 에 따라 wget 모듈 을 설치 할 수 있 습 니 다:
다음 코드 를 고려 하여 Python 로고 그림 을 다운로드 할 것 입 니 다.
이 코드 에 서 는 URL 과 경로(그림 이 저 장 됩 니 다)가 wget 모듈 에 전달 되 는 download 방법 입 니 다.
3.재 설정 파일 다운로드
이 절 에 서 는 requests 를 사용 하여 하나의 URL 에서 파일 을 다운로드 하 는 방법 을 배 울 것 입 니 다.**이 URL 은 다른.pdf 파일 이 있 는 URL 로 재 설정 합 니 다.이 URL 은 다음 과 같 습 니 다.
이 pdf 파일 을 다운로드 하려 면 다음 코드 를 사용 하 십시오.
이 코드 에서 우리 가 첫 번 째 로 지정 한 것 은 URL 입 니 다.그리고 저 희 는 request 모듈 의 get 방법 으로 이 URL 을 가 져 옵 니 다.get 방법 에서 우 리 는 allowredirects 는 true 로 설정 되 어 있 습 니 다.URL 의 방향 을 바 꾸 고 방향 을 바 꾼 내용 은 변수 my file 에 분 배 됩 니 다.
마지막 으로 가 져 온 내용 을 쓰기 위해 파일 을 엽 니 다.
4.블록 별로 큰 파일 다운로드
다음 코드 를 고려 하 십시오:
우선,우 리 는 예전 처럼 requests 모듈 의 get 방법 을 사 용 했 지만,이번 에는 stream 속성 을 True 로 설정 할 것 입 니 다.
이 어 현재 작업 디 렉 터 리 에 Python Book.pdf 라 는 파일 을 만 들 고 열 어서 기록 합 니 다.
그리고 매번 다운로드 할 블록 크기*를 지정 합 니 다.블록 이 끝 날 때 까지 1024 바이트 로 설정 하 였 습 니 다.
예 쁘 지 않 아 요?걱정 하지 마 세 요.잠시 후에 다운로드 과정의 진행 상황 을 표시 할 것 입 니 다.
5.여러 파일 다운로드(병렬/일괄 다운로드)
여러 파일 을 동시에 다운로드 하려 면 다음 모듈 을 가 져 오 십시오.
파일 을 다운로드 하 는 데 얼마나 걸 리 는 지 확인 하기 위해 os 와 time 모듈 을 가 져 왔 습 니 다.ThreadPool 모듈 은 풀 을 사용 하여 여러 스 레 드 나 프로 세 스 를 실행 할 수 있 습 니 다.
간단 한 함 수 를 만 들 고 응답 블록 을 파일 로 보 냅 니 다.
이 URL 은 다운로드 할 페이지 의 경로 와 URL 을 지정 하 는 2 차원 배열 입 니 다.
이전 절 에서 했 던 것 처럼 우 리 는 이**URL 을 requests.get 에 전달 합 니 다.**마지막 으로 파일(URL 에서 지정 한 경로)을 열 고 페이지 내용 을 기록 합 니 다.
현재,우 리 는 각각 URL 에 이 함 수 를 호출 할 수 있 습 니 다.우 리 는 동시에 모든 URL 에 이 함 수 를 호출 할 수 있 습 니 다.**for 순환 에서 각각 URL 마다 이 함 수 를 호출 합 니 다.**타이머 주의:
현재 다음 코드 줄 을 사용 하여 for 순환 을 바 꿉 니 다.
이 스 크 립 트 를 실행 합 니 다.
6.진도 바 를 사용 하여 다운로드
진행 바 는 clint 모듈 의 UI 구성 요소 입 니 다.clint 모듈 을 설치 하려 면 다음 명령 을 입력 하 십시오:
다음 코드 고려:
이 코드 에서 우 리 는 먼저 requests 모듈 을 가 져 온 다음 에 clint.textui 에서 진도 구성 요 소 를 가 져 왔 습 니 다.유일한 차 이 는**for 순환 중 입 니 다.**내용 을 파일 에 쓸 때,우 리 는 진도 모듈 의 bar 방법 을 사용 했다.
7.urllib 로 웹 페이지 다운로드
이 절 에서,우 리 는 urllib 를 사용 하여 웹 페이지 를 다운로드 할 것 이다.
urllib 라 이브 러 리 는 Python 의 표준 라 이브 러 리 이기 때문에 설치 할 필요 가 없습니다.
다음 코드 줄 은 웹 페이지 를 쉽게 다운로드 할 수 있 습 니 다.
파일 을 저장 하고 싶 은 이유 와 어디 에 저장 하고 싶 은 URL 을 지정 합 니 다.
이 코드 에서 우 리 는 url retrieve 방법 을 사용 하여 파일 의 URL 과 파일 을 저장 하 는 경 로 를 전달 했다.파일 확장 자 는 html 입 니 다.
8.프 록 시 를 통 해 다운로드
파일 을 프 록 시 로 다운로드 할 필요 가 있다 면 url lib 모듈 의 Proxy Handler 를 사용 할 수 있 습 니 다.다음 코드 를 보십시오.
이 코드 에서 우 리 는 프 록 시 대상 을 만 들 었 습 니 다.**그리고 urllib 의 build 를 호출 합 니 다.opener 방법 으로 이 대 리 를 열 고**이 대리 대상 에 게 전달 합 니 다.그리고 페이지 를 가 져 오기 위해 요청 을 만 듭 니 다.
또한 공식 문서 의 소개 에 따라 requests 모듈 을 사용 할 수 있 습 니 다.
당신 은**requests 모듈 을 가 져 오고 프 록 시 대상 을 만 들 기만 하면 됩 니 다.**그리고 파일 을 가 져 올 수 있 습 니 다.
9.urllib 3 사용
urllib 3 는 urllib 모듈 의 개선 버 전 입 니 다.pip 를 사용 하여 다운로드 하고 설치 할 수 있 습 니 다:
웹 페이지 를 url lib 3 로 가 져 와 텍스트 파일 에 저장 할 것 입 니 다.
다음 모듈 가 져 오기:
파일 을 처리 할 때,우 리 는 shutil 모듈 을 사용 했다.
이제 URL 문자열 변 수 를 초기 화 합 니 다.
그리고 우 리 는 urllib 3 의 PoolManager 를 사용 하여 필요 한 연결 풀 을 추적 합 니 다.
파일 만 들 기:
마지막 으로 이 URL 을 가 져 오고 파일 을 열 어 달라 고 GET 요청 을 보 낸 다음 응답 을 파일 에 기록 합 니 다.
10.Boto 3 를 사용 하여 S3 에서 파일 다운로드
Amazon S3 에서 파일 을 다운로드 하려 면 Python boto 3 모듈 을 사용 할 수 있 습 니 다.
시작 하기 전에 pip 를 사용 하여 awscli 모듈 을 설치 해 야 합 니 다:
AWS 설정 에 대해 다음 명령 을 실행 하 십시오.
현재 다음 명령 에 따라 자세 한 정 보 를 입력 하 십시오.
Amazon S3 에서 파일 을 다운로드 하려 면 boto 3 와 botocore 를 가 져 와 야 합 니 다.Boto 3 는 Amazon SDK**로 Python 이 Amazon 웹 서비스(예:S3)에 접근 할 수 있 도록 합 니 다.**Botocore 는 Amazon 웹 서비스 와 상호작용 을 하 는 명령 행 서 비 스 를 제공 합 니 다.
Botocore 가 awscli 를 가 져 왔 습 니 다.boto 3 를 설치 하려 면 다음 명령 을 실행 하 십시오:
현재 이 두 모듈 가 져 오기:
Amazon 에서 파일 을 다운로드 할 때 세 개의 인자 가 필요 합 니 다.
Bucket 이름 다운로드 할 파일 이름 파일 다운로드 후 이름
변수 초기 화:
현재,**세 션 의 자원 을 사용 하기 위해 변 수 를 초기 화 합 니 다.**이 를 위해,우 리 는 boto 3 의 resource()방법 을 호출 하여 서비스,즉 s3 에 전송 할 것 입 니 다.
마지막,download 사용file 방법 으로 파일 을 다운로드 하고 변 수 를 입력 합 니 다:
11,asyncio 사용
asyncio 모듈**은 주로 시스템 이벤트 처리 에 사 용 됩 니 다.**그것 은 하나의 사건 순환 을 둘러싸 고 작업 을 한다.이 사건 순환 은 사건 이 발생 하 기 를 기다 린 후에 이 사건 에 반응 할 것 이다.이 반응 은 다른 함 수 를 호출 할 수 있다.이 과정 을 사건 처리 라 고 한다.asyncio 모듈 은 협동 프로그램 을 사용 하여 이벤트 처 리 를 진행 합 니 다.
asyncio 이벤트 처리 와 협동 기능 을 사용 하려 면 asyncio 모듈 을 가 져 옵 니 다:
현재,이렇게 asyncio 협동 방법 을 정의 합 니 다:
키워드 async 는 원생 asyncio 협동 프로그램 임 을 나타 낸다.협동 프로그램 내부 에 await 키 가 있 습 니 다.특정한 값 을 되 돌려 줍 니 다.우리 도 return 키 워드 를 사용 할 수 있다.
현재,우 리 는 협동 으로 코드 를 만들어 서 사이트 에서 파일 을 다운로드 합 니 다.
이 코드 에서 우 리 는 비동기 협동 함 수 를 만 들 었 습 니 다.파일 을 다운로드 하고 메 시 지 를 되 돌려 줍 니 다.
그리고 우 리 는 다른 비동기 협동 프로그램 을 사용 하여 main 을 호출 합 니 다.func,**URL 을 기다 리 고 모든 URL 을 하나의 대기 열 로 구성 합 니 다.**asyncio 의 wait 함 수 는 협동 프로그램 이 완 료 될 때 까지 기다 릴 것 입 니 다.
이제 협동 프로그램 을 시작 하기 위해 서 는 asyncio 의 get 을 사용 해 야 합 니 다.event_loop()방법 은 협동 프로그램 을 이벤트 순환 에 넣 고 마지막 으로 asyncio 의 run 을 사용 합 니 다.until_complete()방법 으로 이 이벤트 순환 을 실행 합 니 다.
파 이 썬 이 다운로드 한 11 가지 자세(소결)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 다운로드 방법 에 관 한 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.