내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Python의 요청 라이브러리는 HTTP 요청을 보내고 응답을 처리하기 위한 강력하고 사용하기 쉬운 HTTP 라이브러리입니다. Python에서 가장 널리 사용되는 웹 크롤러 프레임워크 중 하나이며 웹 페이지에서 데이터를 추출하고, 웹 사이트를 크롤링하고, API 호출을 수행하는 데 널리 사용됩니다.
요청 라이브러리를 사용하면 GET, POST, PUT, DELETE 등 다양한 HTTP 요청을 쉽게 보낼 수 있습니다. HTTP 요청 객체를 생성하고 요청 헤더, 요청 본문 및 기타 매개변수를 설정한 다음 요청을 보내고 응답을 받을 수 있습니다. 요청 라이브러리는 응답 콘텐츠 가져오기, JSON 구문 분석, HTML 구문 분석 등을 포함하여 응답을 처리하는 다양한 편리한 방법을 제공합니다.
요청이 로컬 Python 환경에 설치되지 않은 경우 명령 프롬프트 창에 명령을 입력할 수 있습니다.
pip install requests
요청 모듈 설치
웹페이지를 마음대로 열 수 있습니다. F12->"Ctrl+R"을 눌러 새로 고침하고, 이름에 있는 항목을 두 번 클릭하세요.
User-Agent와 Cookie를 볼 수 있습니다.
다음은 일반적으로 사용되는 요청 라이브러리 기능 및 사용법입니다.
GET 요청 보내기:
response = requests.get(url)
POST 요청 보내기:
response = requests.post(url, data=payload)
요청 헤더를 설정합니다.
- headers = {'User-Agent': 'Mozilla/5.0'}
- response = requests.get(url, headers=headers)
URL 매개변수 전달:
- params = {'key1': 'value1', 'key2': 'value2'}
- response = requests.get(url, params=params)
파일 보내기:
- files = {'file': open('file.txt', 'rb')}
- response = requests.post(url, files=files)
응답 내용을 가져옵니다.
print(response.text)
JSON 응답을 구문 분석합니다.
json_data = response.json()
HTML 응답을 구문 분석합니다.
- from bs4 import BeautifulSoup
- soup = BeautifulSoup(response.text, 'html.parser')
예외 처리:
- try:
- response = requests.get(url)
- response.raise_for_status()
- except requests.HTTPError as e:
- print('HTTPError:', e)
- except requests.ConnectionError as e:
- print('ConnectionError:', e)
- except requests.Timeout as e:
- print('Timeout:', e)
- except requests.RequestException as e:
- print('RequestException:', e)
위 내용은 요청 라이브러리 기능 중 일부에 불과합니다. 또한 세션 관리, 인증, 프록시 설정 등과 같은 다양한 고급 기능과 옵션을 제공하여 웹 크롤링 및 API 호출을 쉽게 수행할 수 있습니다.
완전한 요청 기능 루틴:
- import requests
-
-
- def get_html(url):
- '''
- 两个参数
- :param url:统一资源定位符,请求网址
- :param headers:请求头
- :return html 网页的源码
- :return sess 创建的会话
- '''
-
- # 请求头
- headers={'User-Agent': '复制了放这里'}
- # 创建Session, 并使用Session的get请求网页
- sess = requests.Session()
- response = sess.get(url=url,headers = headers)
- # 获取网页信息文本
- html = response.text
-
- return html, sess