跳过urllib的学习,学习requests进行get和post请求,以及获取响应
import requests
import json
response=requests.get("http://www.baidu.com")
# url地址
print(response.url)
# 响应状态码
print(response.status_code)
# 响应内容编码格式
print(response.encoding)
response.encoding='utf-8'
# 响应内容,字符串
print(type(response.text))
# print(response.text)
# 响应内容字节流
# print(response.content)
print(type(response.content))
# 字符串通过编码成为字节码,字节码通过解码成为字符串
# print(response.content.decode("utf-8"))
#带参数的get请求,使用params 携带相关参数
url="http://wthrcdn.etouch.cn/weather_mini"
data={"citykey":"101010100"}
response=requests.get(url,params=data)
# json 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。
# 一般表现形式是一个无序的 键值对 的集合。
#json.dumps 将python 对象编码成Json字符串,json.loads用于解析json数据,该函数返回python字段的数据类型
# print(type(response.json()))
# print(response.json())
# print(type(json.loads(response.text)))
# print(json.loads(response.text))
# 在请求中添加header,比如user-agent,通过在get中添加headers参数
url="https://www.zhihu.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
}
response=requests.get(url,headers=headers)
# print(response.text)
# post 请求,在post中添加data参数,参数类型为字典
url = 'http://httpbin.org/post'
data = {
'name':'jack',
'age':'23'
}
response = requests.post(url,data=data)
print(response.json())
print(response.headers)
print(response.history)
# 文件上传,通过post请求中的files参数
url="http://httpbin.org/post"
files={"files":open("test.html","rb")}
response=requests.post(url,files=files)
print(response.text)
print(response.status_code)