一.只是回顾
1.导入模块的顺序,首先从当前目录下找,再从环境变量里面找,使用"sys.path.insert(0,'需要导入的环境变量')"加入需要导入文件的环境变量;
2.如果不同项目中有相同的文件,需要导入文件,需要将非当前项目中右键添加的环境变量取消,将当前的环境变量添加上去;
3.加盐:将密码和随机字符串和用户名等相关信息用MD5加密
二.网络编程
1.导入urllib.request的urlopen,发送get请求
2.发送post请求,需要导入urllibe.parse中的urlencode,主要添加数据data,要将数据转为k-v形式后在转为二进制
3.导入requests,发送请求较方便,简单,
3.1发送get请求
3.2发送post请求
3.3 入参为json格式的
3.4参数中需要传入cookie时,参数中要加上 s
3.5参数中需要传herder时.注意参数中要加上 s
3.6返回不是json时
3.7下载一首歌,把结果使用MP3的格式保存到本地
3.8,下载如果请求是https需要加上(verify= False)
3.9,上传文件,注意文件路径,如果是当前目录则不需要写路径,打开需要用(rb),发送的请求中要用files=打开的文件(files= data)
四.网络爬取qq群里的信息
1.进入(qun.qq.com)选择一个群,通过抓包能获取发送的data,cookie,通过postman模拟请求,发现返回值格式(json)和数量(gc,st,end,sort,bkn)
2.注意拼接路径,容易出错
五.异常处理,使用try进行判断,try后接判断后接except Exception as e:语句中输入出错误提示信息,其次在加上正常的执行结果,在最后加上finally:后面接的语句体不论是否出现异常都执行
六.类
1.用(class 类名)来定义一个类如(class Person),类名一般以大写字母开头,加入初始化内容(def __init__(self)),然后在定义其方法,调用时首先要实例化类,创建一个指挥者,类名加上括号(person_ong = Person()),然后指挥者就可调用类中的方法,初始化内容,和修改初始化内容
2.类在实例化的时候是否要传参数,关键看构造函数是否需要传参数
3.封装操作,封装redis
封装MySQL,封装内容分为五部分,分别为初始化def__init__(xxxx,xxxx....),查询全部def select_all(),查询一行def select_one(),其他SQL语句def other(),关闭数据库链接def close().知识点,系统主动抛出异常,可在try中加上(raise Exception('提示内容'))
类变量:直接定义在类中的变量,一般是较少变动的值,调用的时候可以直接在外部修改类变量的值