2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Pythonin pyyntökirjasto on tehokas ja helppokäyttöinen HTTP-kirjasto HTTP-pyyntöjen lähettämiseen ja vastausten käsittelyyn. Se on yksi Pythonin suosituimmista indeksointikehyksistä, ja sitä käytetään laajalti tietojen poimimiseen verkkosivuilta, verkkosivustojen indeksoimiseen ja API-kutsujen tekemiseen.
Pyyntökirjaston avulla voit helposti lähettää erilaisia HTTP-pyyntöjä, mukaan lukien GET, POST, PUT, DELETE jne. Voit luoda HTTP-pyyntöobjektin, asettaa pyynnön otsikot, pyynnön rungon ja muut parametrit, lähettää pyynnön ja saada vastauksen. Pyyntökirjasto tarjoaa monia käteviä menetelmiä vastausten käsittelyyn, mukaan lukien vastaussisällön hankkiminen, JSON-jäsennys, HTML-jäsennys jne.
Jos pyyntöjä ei ole asennettu paikalliseen Python-ympäristöön, voit kirjoittaa komennon komentokehoteikkunaan
pip install requests
Asenna pyyntömoduuli
Voimme avata verkkosivun halutessasi, F12->"Ctrl+R" päivittääksesi, kaksoisnapsauta nimessä olevaa kohdetta
Näet käyttäjäagentin ja evästeen
Seuraavassa on joitain yleisesti käytettyjä pyyntökirjaston toimintoja ja käyttöä:
Lähetä GET-pyyntö:
response = requests.get(url)
Lähetä POST-pyyntö:
response = requests.post(url, data=payload)
Aseta pyyntöjen otsikot:
- headers = {'User-Agent': 'Mozilla/5.0'}
- response = requests.get(url, headers=headers)
Välitä URL-parametrit:
- params = {'key1': 'value1', 'key2': 'value2'}
- response = requests.get(url, params=params)
Lähetä tiedosto:
- files = {'file': open('file.txt', 'rb')}
- response = requests.post(url, files=files)
Hanki vastauksen sisältö:
print(response.text)
Jäsennä JSON-vastaus:
json_data = response.json()
Jäsennä HTML-vastaus:
- from bs4 import BeautifulSoup
- soup = BeautifulSoup(response.text, 'html.parser')
Poikkeusten käsittely:
- 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)
Yllä oleva on vain pieni osa pyyntökirjaston toiminnoista. Se tarjoaa myös monia muita edistyneitä toimintoja ja vaihtoehtoja, kuten istunnon hallinta, todennus, välityspalvelimen asetukset jne., joiden avulla voit tehdä web-indeksoinnin ja API-kutsut helposti.
Täydellinen pyyntötoimintorutiini:
- 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