1. 程式人生 > >網絡編程(爬蟲,接口及好用的模塊)及網絡測接口

網絡編程(爬蟲,接口及好用的模塊)及網絡測接口

phone spa aaa all style .text .post parse passwd

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:\Users\bjniuhanyang\Desktop\圖\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)
 

網絡編程(爬蟲,接口及好用的模塊)及網絡測接口