python 爬蟲學習第二課

request響應內容

#request響應內容
import requests

response = requests.get('http://www.baidu.com')
print(type(response))
print(response.status_code)
print(type(response.text))
print(response.text)
print(response.cookies)
print(response.content)
print(response.content.decode('utf-8'))

request post請求

#request post請求
import requests

data = {
    "name":"sun",
    "age":"25"
}

response = requests.get('http://www.baidu.com', params=data)
print(response.url)
print(response.content.decode('utf-8'))

狀態碼

#狀態碼

import requests

response = requests.get('http://www.baidu.com')
if response.status_code == requests.codes.ok:
    print('訪問成功')

文件上傳

#文件上傳
import requests

files = {"files" : open("test.jpg","rb")}
response = requests.post('http://httpbin.org/post', files= files)
print(response.text)

獲取cookie

#獲取cookie
import requests

response = requests.get('http://www.baidu.com')
print(response.cookies)

for key, value in response.cookies.items():
    print(key+ "=" + value)

會話維持

#會話維持
import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/number/123456')
response = s.get('http://httpbin.org/cookies')
print(response.text) 

解析json

#解析json
import requests
import json

response = requests.get('http://httpbin.org/get')
print(type(response.text))
print(response.json())
print(json.loads(response.text))
print(type(response.json()))

添加header

#添加header
import requests

headers = {
     "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
}
response = requests.get('https://www.zhihu.com', headers= headers)
print(response.text)

認證設置一

#認證設置一
import requests
from requests.auth import HTTPBasicAuth

response = requests.get('http://120.27.34.24:9001/', auth = HTTPBasicAuth("user","123"))
print(response.status_code)

認證設置二

#認證設置二
import requests

response = requests.get('http://120.27.34.24:9001/',auth =("user","123"))
print(response.status_code)

異常處理

#異常處理
import requests
from requests.exceptions import Timeout, ConnectionError, RequestException

try:
    response = requests.get('http://httpbin.org/get', timeout= 0.1)
    print(response.status_code)
except Timeout:
    print("timeout!")
except ConnectionError:
    print('connection error!')
except RequestException:
    print('error')

注:學習資料來源:https://www.cnblogs.com/zhaof/p/6915127.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章