1.网络
from urllib import request,parse
# url = 'http://www.nnzhp.cn'
# req = request.urlopen(url) #打开一个url,发get请求 用来发请求
# content = req.read().decode() #获取返回结果 获取网站的内容 返回的是byte类型需要decode一下
# fw = open('baidu.html','w',encoding='utf-8') #写入到本地文件中
# fw.write(content)#可以在浏览文件时通过浏览器打开
访问接口(1)get请求
import json
# url='http://api.nnzhp.cn/api/user/stu_info?stu_name=xiaohei' #接口地址
# req = request.urlopen(url) #打开一个url,发get请求
# content = req.read().decode() #获取返回结果
# res_dic = json.loads(content) #获得结果是字符串(json串)返回的结果转成字典 便于取值
# if res_dic.get('error_code') == 0: #自动检查是否返回成功
# print('测试通过')
# else:
# print('测试失败',res_dic)
访问接口(2)post请求
url = 'http://api.nnzhp.cn/api/user/login'
data = {
'username':'admin',
'passwd':'aA123456'
} #请求数据
data = parse.urlencode(data) #urlencode,自动给你拼好参数 为字符串
# xx=xx&xx=11
req = request.urlopen(url,data.encode()) #发post请求 字符串的参数还需转化为byte类型才能发送请求。
print(req.read().decode())
# 网络爬虫,从其他的网站上,获取一些有用的内容。
2.好用的模块
import requests
#1、发get请求
# url = 'http://api.nnzhp.cn/api/user/stu_info'
# data = {'stu_name':'小黑'} #请求数据
# req = requests.get(url,params=data) #发get请求
# print(req.json()) #字典
# print(req.text) #string,json串
#返回的都是什么
#返回的类型是什么
#中文的好使吗
#2 、发post请求
# url = 'http://api.nnzhp.cn/api/user/login'
# data = {'username':'niuhanyang','passwd':'aA123456'} #请求数据
# req = requests.post(url,data) #发送post请求
# print(req.json())
#3、入参是json类型的
# import random
# phone=random.randint(10000000000,99999999999) #号码不能重复
# url='http://api.nnzhp.cn/api/user/add_stu'
# data = {
# "name":"小1",
# "grade":"天蝎座",
# "phone":phone,
# "sex":"男",
# "age":28,
# "addr":"河南省济源市北海大道32号"
# }
# req = requests.post(url,json=data)
# print(req.json())
# 4、添加cookie
# url = 'http://api.nnzhp.cn/api/user/gold_add'
# data = {'stu_id':468,'gold':10000}
# djl = {'niuhanyang':'337ca4cc825302b3a8791ac7f9dc4bc6'}
# req = requests.post(url,data,cookies=djl)
# print(req.json())
#5、添加header
# url = 'http://api.nnzhp.cn/api/user/all_stu'
# header = {
# 'Referer':'http://api.nnzhp.cn/'
# }
# req = requests.get(url,headers=header)
# print(req.json())
#6、上传文件
# url= 'http://api.nnzhp.cn/api/file/file_upload'
# data = {
# 'file':open(r'C:UsersjniuhanyangDesktop图6bd9026dt935575932465&690.jpg','rb') 文件会指定utf-8 excel 也是rb
# }
# req= requests.post(url,files=data)
# print(req.json())
#7、下载文件
url = 'http://up.mcyt.net/?down/46779.mp3'
req = requests.get(url)
fw = open('aaa.mp3','wb')
fw.write(req.content)