Requests는 urllib2의 모든 기능을 상속합니다.
Requests는 HTTP 연결 지속성 및 연결 풀링을 지원하고, 쿠키를 사용하여 세션을 유지하도록 지원하고, 파일 업로드를 지원하고, 응답 콘텐츠의 인코딩 자동 결정을 지원하고, 국제화된 URL 및 POST 데이터의 자동 인코딩을 지원합니다.
설치 방법
pip를 사용하여 설치
$ pip install requests
GET 요청
기본 GET 요청(헤더 매개변수 및 parmas 매개변수)
1 가장 기본적인 GET 요청은 get 메소드'
response = requests.get("http://www.baidu.com/") # 也可以这么写 # response = requests.request("get", "http://www.baidu.com/")
를 직접 사용할 수 있습니다. 2. 헤더 및 쿼리 매개변수 추가
헤더를 추가하려면 headers 매개변수를 전달하여 요청 헤더에 헤더 정보를 추가할 수 있습니다.
URL에 매개변수를 전달하려면 params 매개변수를 사용할 수 있습니다.
import requests kw = {'wd':'长城'} headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} # params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode() response = requests.get("http://www.baidu.com/s?", params = kw, headers = headers) # 查看响应内容,response.text 返回的是Unicode格式的数据 print (response.text) # 查看响应内容,response.content返回的字节流数据 print (respones.content) # 查看完整url地址 print (response.url) # 查看响应头部字符编码 print (response.encoding) # 查看响应码 print (response.status_code)
실행 결과
......
......
'http://www.baidu.com/s?wd=%E9%95%BF%E5%9F% 8E'
'utf-8'
200
response.text를 사용할 때 요청은 HTTP 응답의 텍스트 인코딩을 기반으로 응답 콘텐츠를 자동으로 디코딩하며 대부분의 유니코드 문자 집합을 원활하게 디코딩할 수 있습니다.
response.content를 사용할 때 반환되는 것은 서버 응답 데이터의 원본 바이너리 바이트 스트림이며, 이는 이미지와 같은 바이너리 파일을 저장하는 데 사용할 수 있습니다.
POST 방법
1. 기본 POST 요청
response = requests.post("http://www.baidu.com/",data = data)
2.body with 매개변수
formdata = { "type": "AUTO", "doctype": "json", "key": "www", "ue": "UTF-8", } url = "http://auto-installment/v1/loan-credit-check" response = requests.post(url,data = data,headers=headers) print(response.text)#显示返回结果 print(response.json())# 如果是json文件可以直接显示
참고:
인쇄된 결과에 중국어 문자가 깨져 표시됩니다. json.dupms(response, verify_ascii=False)를 사용하세요. )을 해결하기 위해
Session
일반적으로 Session은 다른 페이지에 액세스하기 전에 로그인하는 등 요청 전반에 걸쳐 특정 매개변수를 유지하는 데 사용됩니다.
# 1. 创建session对象,可以保存Cookie值 session = requests.session() # 2. 需要登录的用户名和密码 data = {"username": "mxxxx", "password": "1233444"} # 3. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里 session.post("https://www.jianshu.com/sign_in", data=data) # 4. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面 response = session.get("https://www.jianshu.com/writer#/")
함정에 대한 참고사항
1. 오류가 보고되지만 인터페이스 자체에는 문제가 없습니다. 인터페이스에는 단순 유형(일반적으로 3개 미만)과 복합 객체 유형이라는 두 가지 유형의 요청 매개변수가 있기 때문입니다.
해결책: 헤더에서 이 두 매개변수의 유형을 정의하세요
단순 유형: headers={"Content-Type": "application/x-www-form-urlencoded"}
복잡한 개체 유형: headers= {"Content -Type":application/json}
2. 일부 HTTPS 요청에는 SSL 인증서 확인이 있습니다
해결 방법: response = 요청.get("https://www.baidu.com/", verify =False)
Extension
1. 요청이 실패한 후 재시도 메커니즘을 추가하세요(실패하면 3번 재시도됩니다)
request_retry = requests.adapatrs.HTTPAdapaters(max_retries=3) session.mount('https://',request_retry)
2. grequests를 사용하여 비동기 요청을 구현하세요
urls = [ 'http://www.url1.com', 'http://www.url2.com', 'http://www.url3.com', 'http://www.url4.com', 'http://www.url5.com', ] resp = (grequests.get(u) for u in urls) grequests.map(resp)
3.
요청 사이에 쿠키를 유지하기 위해 세션 인스턴스를 사용하지만 특별한 경우에는 사용자 정의 쿠키를 사용해야 합니다
요청 사이에 쿠키를 유지하기 위해 세션 인스턴스를 사용하지만 특별한 경우에는 사용자 정의 쿠키를 사용해야 합니다
# 自定义cookies cookie = {'guid':'5BF0FAB4-A7CF-463E-8C17-C1576fc7a9a8','uuid':'3ff5f4091f35a467'} session.post('http://', cookies=cookie)
4. API 요청에 소요된 시간을 계산합니다
session.get(url).elapsed.total_seconds()
5. 요청 시간 초과 설정
session.get(url, timeout=15)
6. 파일 업로드
요청은 파일 데이터 제출을 시뮬레이션하기 위해 파일을 사용합니다.
위 내용은 Python이 요청을 사용하여 웹 페이지를 요청하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
