1. 程式人生 > 實用技巧 >get請求 / post請求

get請求 / post請求

1.get請求:
    不攜帶引數的get請求
    不攜帶引數的get請求 + headers
    攜帶引數的get請求 + headers
    
2.post請求: 構建引數的post請求
    
3.響應資料的獲取與屬性
	(1).響應資料的獲取:
			res.text: 文字資料
			res.json(): json資料
			res.content: 流
    (2).嚮應的其他屬性:
            res.status_code: 獲取響應狀態碼
            res.headers: 響應頭
            res.cookie: cookie資訊

  

requests模組的get請求

# 不攜帶引數的get請求: 爬取搜狗主頁
import requests
url = 'https://www.sogou.com/'
res = requests.get(url=url)
print(res)
print(res.text)

with open('sougou.html', 'w', encoding='utf-8') as f:
    f.write(res.text)
# 不攜帶引數的get請求  +  headers: 爬取知乎的發現頁
import requests
headers = {
    'User-Agent
': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' } url = 'https://www.zhihu.com/explore' res = requests.get(url=url, headers=headers) with open('zhihu.html', 'w', encoding='utf-8') as f: f.write(res.text)
# 攜帶引數的get請求  +  headers: 知乎的發現欄中搜索Python
import requests headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' } url= 'https://www.zhihu.com/search?' params = { 'type':'content', 'q':'python' } res = requests.get(url=url, headers=headers, params=params) print(res) print(res.text) with open('python.html', 'w', encoding='utf-8') as f: f.write(res.text)
重點掌握GET & POST:   GET與POST的區別
1、GET請求中的引數包含在URL裡面,資料可以在URL中看到,而POST請求的URL不回包含這些資料,POST的資料
都是通過表單形式傳輸的。會包含在請求體中
2、GET請求提交的資料最多隻有1024位元組,而POST方式沒有限制
3、post請求比get請求相對安全

  

requests模組的post請求

# requests的post請求: 以post方式請求httpbin.org/post時會返回提交的請求資訊
import requests
headers = {
     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
url = 'http://httpbin.org/post'
data = {
    'name': 'spiderman',
    'age': 8
}
res = requests.post(url=url, headers=headers, data=data)
print(res.text)