- 博客(272)
- 资源 (5)
- 收藏
- 关注
原创 【Flask基础】九,Flask--蓝图模块划分介绍(使用蓝图+不使用蓝图)
【Flask基础】九,Flask--蓝图模块划分介绍(使用+不使用)
2022-08-18 17:25:14
1619
原创 【Flask基础】四,视图函数响应返回与响应参数设置(abort+自定义页面+响应参数设置)
【Flask基础】四,视图函数响应返回与响应参数设置(abort+自定义页面+响应参数设置)
2022-08-17 15:30:36
430
原创 【Flask基础】三,获取与保存前端模板数据(request+上传文件保存)
【Flask基础】三,获取与保存前端模板数据(request+上传文件保存)
2022-08-17 15:15:06
3167
原创 【Flask基础】二,视图路由与路由转换器配置(附前/后端定时重定向演示)
【Flask基础】二,视图路由与路由转换器配置(附前/后端定时重定向演示)
2022-08-17 14:30:33
399
原创 Python GUI库Tkinter的使用
一,公共知识1.第一个小程序(参考)from tkinter import *from tkinter import messageboxdef songhua(e): # e为事件对象 messagebox.showinfo("Message","给你一朵小红花")#窗口标题+显示信息 print("送花")#1.创建主窗口对象root = Tk()root.title("我的第一个GUI程序")#调整主窗口位置和大小root.geometry("500x300+
2022-04-19 15:41:26
1301
1
原创 Python库pillow(PIL)的使用
一,打开图片并查看图片基本信息(Image)#coding=utf-8from PIL import Image#打开本地图片image = Image.open("../input/2.jpg")print(image) #<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2190x2964 at 0x1DB25E0F518>#显示图片# image.show()#查看图片信息print("文件名:" + ima
2022-04-08 09:19:35
4877
原创 11_超级鹰学习及应用
#超级鹰官网http://www.chaojiying.com/user/login/#使用时需要下载开发文档api模块,导入使用即可,写的挺明白的#############用超级鹰破解超级鹰登录界面from selenium.webdriver import Chromefrom chaojiying import Chaojiying_Clientimport timeweb = Chrome()web.get("http://www.chaojiying.com/user/login
2022-03-10 08:05:51
382
2
原创 10_selenium解析及应用
##########################3##selenium引入# 能不能让我的程序连接到浏览器 . 让浏览器来完成各种复杂的操作, 我们只接受最终的结果# selenium: 自动化测试工具# 可以: 打开浏览器. 然后像人一样去操作浏览器# 程序员可以从selenium中直接提取网页上的各种信息# 环境搭建:# pip install selenium -i 清华源# 下载浏览器驱动:http://chromedriver.storage.googleapis
2022-03-09 17:24:24
735
原创 9_协程及应用
import asyncioasync def func1(): print("你好啊, 我叫潘金莲") await asyncio.sleep(3) print("你好啊, 我叫潘金莲")async def func2(): print("你好啊, 我叫王建国") await asyncio.sleep(2) print("你好啊, 我叫王建国")async def func3(): print("你好啊, 我叫李雪琴")
2022-03-09 17:08:45
252
原创 8_多线程+多进程及应用
#################################### 多线程from threading import Thread # 线程类####多线程第一套写法---推荐# def func():# for i in range(1000):# print("func", i)### if __name__ == '__main__':# t = Thread(target=func) # 创建线程并给线程安排任务# t.star
2022-03-09 16:48:38
139
原创 7_防盗链的处理
# 1. 拿到contId# 2. 拿到videoStatus返回的json. -> srcURL# 3. srcURL里面的内容进行修整# 4. 下载视频import requests# 拉取视频的网址url = "https://www.pearvideo.com/video_1721605"contId = url.split("_")[1] #拿到需要替换的后面数字序列#网址前加f是为了使用如下的格式化数据填充形式videoStatusUrl = f"https://w
2022-03-09 08:28:50
285
原创 6_Session+保持cookie
# 登录 -> 得到cookie# 带着cookie 去请求到书架url -> 书架上的内容# 必须得把上面的两个操作连起来# 我们可以使用session进行请求 -> session你可以认为是一连串的请求. 在这个过程中的cookie不会丢失import requests# # 会话# session = requests.session()# data = {# "loginName": "18614075987",# "password": "
2022-03-09 08:28:19
1173
原创 5_xpath解析
# xpath 是在XML文档中搜索内容的一门语言# html是xml的一个子集"""<book> <id>1</id> <name>野花遍地香</name> <price>1.23</price> <author> <nick>周大强</nick> <nick>周芷若</nick> &l
2022-03-09 08:27:48
1209
2
原创 4_bs4解析
# 安装# pip install bs4 -i 清华# 1. 拿到页面源代码# 2. 使用bs4进行解析. 拿到数据import requestsfrom bs4 import BeautifulSoupimport csvurl = "http://www.xinfadi.com.cn/marketanalysis/0/list/1.shtml"resp = requests.get(url)f = open("菜价.csv", mode="w")csvwriter = csv
2022-03-09 08:27:18
248
原创 3_re演示+csv存储
# 拿到页面源代码. requests# 通过re来提取想要的有效信息 reimport requestsimport reimport csvurl = "https://movie.douban.com/top250"headers = { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.
2022-03-09 08:26:46
117
原创 2_re解析
import re# # findall: 匹配字符串中所有的符合正则的内容# lst = re.findall(r"\d+", "我的电话号是:10086, 我女朋友的电话是:10010")# print(lst)## # finditer: 匹配字符串中所有的内容[返回的是迭代器], 从迭代器中拿到内容需要.group()# it = re.finditer(r"\d+", "我的电话号是:10086, 我女朋友的电话是:10010")# for i in it:# prin
2022-03-09 08:24:18
97
原创 1_requests请求
# 安装requests# pip install requests# 国内源# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requestsimport requests# query = input("输入一个你喜欢的明星")query = "周杰伦"url = f'https://www.sogou.com/web?query={query}'dic = { "User-Agent": "Mozilla/
2022-03-09 08:23:16
196
原创 腾讯云mysql数据库远程连接问题
【问题】无法远程连接腾讯云主机中的mysql数据库,安全组开放了3306并且数据库开放了访问权限也不行。【解决方法/连接流程】1.开放腾讯云安全组中的端口2.创建mysql数据库中的远程访问用户(不要设置为root用户,随便设置一个其他用户即可)mysql -uroot -puse mysqlselect host,user from user; #查看授权用户CREATE USER 'song'@'%' IDENTIFIED BY '*****'; #创建新的用户GRANT ALL P
2022-03-04 09:42:06
3954
原创 Python多线程/协程爬虫应用(带执行效率对比)
多线程版本#encoding='utf-8' import requestsfrom lxml import etreeimport time"""with open('./song.txt','w',encoding='utf-8') as fp: fp.write(resp.text)"""#############################多线程版本 13.422082662582397###跳转单本网址,获取文本内容(此处需处理)def parse_sing.
2022-02-22 08:31:59
148
原创 爬虫常用本地存储形式(TXT,JSON,CSV)
一,TXT存储TXT格式读写在本站中的详细解释1.读取/写入模式2.使用演示#常规写法file = open('explore.txt','a',encoding='utf-8')file.write ('\n'.join([question, author, answer]))file.write('\n'+ '= '*50 +'\n') file. close()#不用关闭指针的简化写法with open('./song.txt','w',encoding='utf-8') .
2022-01-11 15:40:55
1050
原创 1.爬虫系统学习--爬虫应知知识(后续还会更新)
1.爬虫在使用场景中的分类通用爬虫抓取系统重要组成部分。抓取的是一整张页面数据。聚焦爬虫是建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容。增量式爬虫检测网站中数据更新的情况。只会抓取网站中最新更新出来的数据。2.robots.txt协议君子协议。规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬取。3.常用请求头信息User-Agent:请求载体的身份标识Connection:请求完毕后,是断开连接还是保持连接4.常用响应头信息Content-Type:服务器响应回
2021-12-06 15:18:37
557
原创 python中yield的使用(减少内存空间占用)
一,yield使用功能原理介绍首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”。看做return之后再把它看做一个是生成器(generator)的一部分(带yield的函数才是真正的迭代器)。好了,如果你对这些不明白的话,那先把yield看做return,然后直接看下面的程序,你就会明白yield的全部意思了:def foo(): print("starting...") while True: res = yield 4
2021-12-06 13:28:44
716
1
原创 二,控件学习--13.QWdiget~QFrame~QAbstractScrollArea(低级滚动区抽象控件--继承自这个都具有滚动功能)
抽象基类控件一般不单独使用,在这里使用其继承控件QTextEdit来进行演示。继承自该基类的控件默认都具有滑动条,只不过是需要时才会显示。可以设置一直显示,便于界面布局控制。继承关系学习计划功能作用1.设置水平和垂直滚动条(自定义设置使用–一般用不到)2.滚动条策略(重要!!)3.角落控件4.代码总览# 0. 导入需要的包和模块from PyQt5.Qt import *import sys# 1. 创建一个应用程序对象app = QApplication.
2021-12-06 10:28:21
479
原创 二,控件学习--12.QWdiget~QFrame(负责一些边框的设置--基类控件)
学习计划可用信号全部继承其父类QWidget功能作用1.创建QFrame对象2.组合效果图3.框架形状应用场景4.框架阴影5.框架的几个线宽6.框架样式7.框架矩形8.代码总览# 0. 导入需要的包和模块from PyQt5.Qt import *import sys# 1. 创建一个应用程序对象app = QApplication(sys.argv)# 2. 控件的操作# 2.1 创建控件window = QWidget()
2021-12-06 09:54:22
961
原创 Python库pandas对Excel文件的常用处理操作
常用小tip1.如果存在文件则删除文件import osif (os.path.exists(path+filename)): os.remove(path+filename)2.复制文件import shutilshutil.copy(file_path_y, file_path_m)3.json文件的读取与保存import json#读取json数据with open(json_filepath) as file_obj: names = json.load(fi
2021-12-04 10:27:11
7048
原创 Python中map、apply、applymap三函数的使用(用于DataFrame)
因为我主要是将其用于DataFrame数据中,所以我们可以这么认为map(Series)—>对某列进行操作apply(DataFrame)—>对行数据或者列数据进行操作applymap(DataFrame)—>对所有表中元素进行操作一,map在python2中map返回的是一个列表,而在python3中返回的是一个迭代器,如果获取转换为 list 就行了import pandas as pdimport numpy as np#DataFrame数据合并temp
2021-12-03 15:18:40
2278
原创 Python库pandas常用知识学习(不包含时间序列,分组聚合)
一,pandas应知知识1.pandas中的常见数据类型Series代表单独的一列或者一行DataFrame代表整个二维表2.二,Series(带标签的-单行/列)1.Series的两种创建方式import pandas as pd#Series创建方式一a = pd.Series([1,2,3],index = list("abc"))print(a)# a 1# b 2# c 3# dtype: int64#Series创建方式二temp
2021-12-03 13:50:53
1524
原创 PYTHON高级--函数装饰器(在不改动原始函数的基础上,在之前添加处理操作)
def set_func(func): print("装饰器开始装饰") def call_func(*args,**kwargs): print("开始执行额外功能") #将传进来的变量拆包,并执行原始要添加装饰器的函数功能 func(*args,**kwargs) #将添加完装饰器的函数引用,返回给原始函数,来执行 #装饰器功能+原始功能。 return call_func#@set_func 相当于执行set_func函数了,然后将额外功能加在原始功能之前,然后整体执行函数
2021-12-02 16:16:43
484
原创 PYTHON拆包--*args **kwargs
*args返回的是一个元祖**kwargs返回的是一个字典#*args拆出来是元祖,存元素#**kwargs拆出来是字典,存键值对def test0(a, b, args, kwargs): print(a) print(b) print(args) print(kwargs)def test1(a, b, *args): print(a) print(b) print(args)def test2(a, b, args, **kw
2021-12-02 15:40:59
273
原创 PYTHON包(模块集合)
包使用案例1.构建包中的 __ init __ 模块(指定包中有哪些模块)from . import send_messagefrom . import receive_message2.按照下图结构构建包3.可以在外部模块中导入包来进行使用send_message.pydef send(text): print("正在发送 %s..." % text)receive_message.pydef receive(): return "这是来自 1
2021-12-02 14:39:29
155
原创 PYTHON面向对象(类)
一.PYTHON面向对象基础面向对象侧重于对的人,做对的事1.类和对象的基本概念类的介绍对象的介绍类和对象的关系2.类的设计基础类设计的三要素3.类使用的基本语法3.1类的定义和使用基本语法类的定义类的使用使用案例class Cat: def eat(self): print("小猫爱吃鱼") def drink(self): print("小猫要喝水")# 创建猫对象tom = Cat()
2021-12-02 14:18:17
773
原创 PYTHON高级--多模块导入时,注意from import 与 import区别
当直接使用 import 导入函数时,指向无任何问题,相当于本地一个变量指向导入模块本身,当重新赋值时操作的是指向位置的数据。但是当使用 from import 带入模块时,相当于在局部有个同名变量其赋值指向导入模块的值,而不是直接对导入模块的引用。所以重新赋值后就会丢失对导入数据的同步权,也可以说通过这种方式导入模块根本不具有修改权,只有对值的使用权。可以通过在修改变量时设置为global,将本地变量提升为全局变量的方法解决这种问题(这种方法只能解决本文件内的问题,实质还是没有对指向的位置数据进
2021-12-02 10:06:28
7426
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人