首页
随心记
statics
友链
关于
推荐
geminichat
知乎
网易云音乐
MOOC
哔哩哔哩
Search
1
链接合集
70 阅读
2
个人博客搭建历程回顾
60 阅读
3
浅谈原神
38 阅读
4
算法专题:回溯和分支定界
36 阅读
5
概率论与数理统计
35 阅读
Schedule
Blockchain And Cryptography
learning
Datebase
Computer Network
Algorithm
Operate System
Python
Other
Self-talking
登录
Search
标签搜索
算法
碎碎念
python
ABE
算法专题
算法习题
OS
密码学
回溯
Leetcode
计算机网络
日志
分支定界
动态规划
排列组合
机器学习
数字逻辑和数字系统
数据库
PRE
概率论与数理统计
江舟
累计撰写
64
篇文章
累计收到
155
条评论
首页
栏目
Schedule
Blockchain And Cryptography
learning
Datebase
Computer Network
Algorithm
Operate System
Python
Other
Self-talking
页面
随心记
statics
友链
关于
推荐
geminichat
知乎
网易云音乐
MOOC
哔哩哔哩
搜索到
7
篇与
的结果
Python+爬虫
参考视频链接: Python+爬虫爬虫流程获取网页内容解析网页内容储存或者分析数据HTTP请求# 请求行(方法类型,资源类型,资源路径) # 请求头(给服务器的信息) # 请求体(状态行,状态消息)HTML:定义网页结构和信息css:定义网页样式JavaScript:定义用户和网页的交互逻辑import requests # headers = { # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0" # } # 冒充用户请求,但是网站只有临时的user-agent,不提供完整 res = requests.get("https://feyxiang.top/") print(res.status_code) # 输出状态码from bs4 import BeautifulSoup import requests content = requests.get("https://feyxiang.top/").text soup = BeautifulSoup(content,"html.parser") all = soup.findAll("a",attrs={"class":"link"}) for a in all: print(a)Next:正则表达式多线程数据分析数据库
2024年02月03日
10 阅读
0 评论
0 点赞
python全栈开发教程5
网络编程网络编程的基本概念网络编程:在程序中实现网络计算机之间的数据通信通信协议:接入网络所遵守的’‘规则’‘,目前全球通用的通信协议即Internet协议TCP/IP协议:IP协议IP协议是整个TCP/IP协议族的核心IP地址就是互联网上计算机的唯一标识目前的IP地址有两种表示方式:IPv4和IPv6在命令行下使用ipconfig命令可以查看本机的IP地址TCP协议(Transmission Control Protocol)即传输控制协议,建立在IP协议基础之上。TCP协议负责两台计算机之间建立可靠连接,保证数据包按顺序发送到。它是一种可靠的,一对一的,面向有连接的通信协议。UDP协议(User Datagram Protocol)即用户数据包协议,它是面向无连接的协议,只要知道对方的IP地址和端口,就可以直接发送数据包,由于面向无连接的,所以无法保证数据一定会到达接收方。端口号区分计算机中的运行的应用程序的整数。端口号的取值范围是0到65535,一共655356个,其中80这个端口号分配给了HTTP服务,21这个端口分配给了FTP服务。了解七层协议与四层协议四层协议和七层协议:应用层(应用层,表示层),传输层(会话层,传输层),网际层(网络层),网络接口层(数据链路层,物理层)掌握Socket套接字Socket:描述IP地址和端口号# bind((ip,port))绑定ip地址和端口 # listen(N)开始TCP监听,N表示操作系统挂起的最大连接数量,取值1-5 # accept()被动接收TCP客户端连接,阻塞式 # connect((ip,port))主动初始化TCP服务器连接 # recv(size)接受TCP数据,返回值为字符串类型,size表示要接收的最大数据量熟练应用TCP编程TCP服务器端流程:# TCP服务器端流程: from socket import socket,AF_INET,SOCK_STREAM # 1.创建socket对象 sever_socket=socket(AF_INET,SOCK_STREAM) # 2.绑定IP地址和端口 ip='127.0.0.1'# local port=8888 # 端口范围 sever_socket.bind((ip,port)) # 3.使用listen监听 sever_socket.listen(5) print('服务器已启动') # 4.等待客户端连接 client_socket,client_addr=sever_socket.accept() # 系列解包赋值 # 5.接收来自客户端的连接 data=client_socket.recv(1024) print('客户端发送过来的数据为:',data.decode('utf-8')) # 要求客户端发送的数据采用utf-8解码 # 6.关闭socket sever_socket.close()TCP客服端代码流程:# TCP客服端代码流程: import socket # 1.创建Socket对象 client_socket=socket.socket() # 2.IP地址和主机端口,向服务器发送连接请求 ip='127.0.0.1' port=8888 client_socket.connect((ip,port)) print('-----与服务器连接成功------') # 3.发送数据 client_socket.send('Welcome to python world'.encode('utf-8')) # 4.关闭 client_socket.close() print('发送完毕')熟练应用UDP编程UDP发送# UDP发送 from socket import socket,AF_INET,SOCK_STREAM # 1.创建socket对象 send_socket=socket(AF_INET,SOCK_STREAM) # 2.准备发送数据 data=input('请输入要发送的数据') # 3.指定接收方的ip和端口 ip_port=('127.0.0.1',8888) # 4.发送数据 send_socket.sendto(data.encode('utf-8'),ip_port) # 5.关闭socket对象 send_socket.close()# UDP接收 from socket import socket,AF_INET,SOCK_STREAM # 1.创建socket对象 recv_socket=socket(AF_INET,SOCK_STREAM) # 2.绑定ip地址和端口 recv_socket.bind('127.0.0.1',8888) # 3.接受来自发送方的数据 recv_data,addr=recv_socket.recvfrom(1024) print('接收到的数据为:',recv_data.decode('utf-8')) # 4.准备回复对方的数据 data=input('请输入回复数据') # 5.回复 recv_socket.sendto(data.encode('utf-8'),addr) # 6.关闭 recv_socket.close()
2024年02月01日
8 阅读
0 评论
0 点赞
python全栈开发教程4
文件及相关操作### 文件以及IO操作 ## 掌握文件读写的基本操作 # 操作文件的步骤 # 1)打开文件:变量名=open(filename,mode,encoding) # 2)操作文件:变量名.read();变量名.write(s) # 3)关闭文件:变量名.close() def my_write(): #file=open('a.txt','w',encoding='utf-8') #file.write('危楼高白尺,手可摘星辰') #file.close() lst=['Amy','John','Eric'] with open('stu.csv','w') as file: file.write(','.join(lst)) def my_read(): #file=open('a.txt','r',encoding='utf-8') #s=file.read() #print(type(s),s) #file.close() with open('stu.csv','r') as file: s=file.read() lst=s.split(',') print(lst) if __name__ == '__main__': my_write() my_read() ## 掌握with语句的使用 # with语句:上下文管理器。 # 在处理文件时,无论是否产生异常,都能保证with语句执行完毕后关闭已经打开的文件,这个过程是自动的,无需手动操作。 # 语法结构:with open(...) as file: pass def write_fun(): with open('aa.txt','w',encoding='utf-8') as file: file.write('hello,python.') def read_fun(): with open('aa.txt','r',encoding='utf-8') as file: print(file.read) def copy(src_file,target_file): with open(src_file,'r',encoding='utf-8') as file: with open(target_file,'w',encoding='utf-8') as file2: file2.write(file.read()) #if __name__ == '__main__': # write_fun() # read_fun() # copy('./aa.txt','./dd.txt') ## 熟悉数据的组织维度 ## 掌握不同维度数据的存储 # 一维数据,二维数据,三维数据 # json模块常用函数 # json.dumps(obj),json.loads(s)python与JSON格式的编码解码 # json.dump(obj,file)将转换结果存储到文件file中 # json.load(file)从file中读入 ## 掌握目录与文件的相关操作 # getcwd(),listdir(path) # mkdir(path),makedirs(path) # rmdir(path),removedirs(path),chdir(path) # walk(path),remove(path),rename(old,new) # stat(path),startfile(path) ## OS模块的使用 # import os
2024年01月31日
13 阅读
0 评论
0 点赞
python全栈开发教程3
面向对象程序设计python全栈开发教程,### 面向对象程序设计 ## 类的定义和对象的创建 ## 属性和方法的调用 # 实例属性:定义在_init_方法中,使用self打点的变量 # 实例方法:定义在类中的函数,而且自带参数self # 静态方法:使用装饰器@staticmethod修饰的方法 # 类方法:使用装饰器@classmethod修饰的方法 class Student: school='北京XX教育' def __init__(self,xm,age): self.name=xm self.__age=age @property # 属性 def age(self): return self.__age @age.setter def age(self,value): if value<0: print('年龄输入有错') self.__age='None' else: self.__age=value def show(self): print(f'my name is {self.name}') print(f'my age is {self.age}') @staticmethod def sm(): print('静态方法,不能调用实例属性和实例方法') @classmethod def cm(cls): print('类方法,不能调用实例属性和实例方法') stu=Student('Amy','20') print(stu.name,stu.age) print(Student.school) print(type(stu)) stu.show() Student.cm() Student.sm() ## 面向对象的三大特征 ## 动态语言的特点 # 封装,继承,多态 class Person(Student): def __init__(self,name,age,stuno): super().__init__(name,age) self.stuno=stuno ## Object类的常用方法 # object类中特殊的方法 # _new_()由系统调用,用于创建对象 # _init_()创建对象时手动调用,用于初始化对象属性值 # _str_()对象的描述,返回值是str类型,默认输出对象内存地址 ## 深拷贝和浅拷贝 # deepcopy和copy模块### 模块 ## 自定义模块的创建 ## 模块的导入 # 1)import ... # 后面的模块中的函数覆盖前面相同的函数 # 2)from ... import ... ## python中包的定义 # 含有_init_.py文件的文件夹(目录) # 可以避免模块名称相冲突的问题 # 主程序运行: # if _name_=='_main_': # pass ## python中常用的内置模块 # 在安装python解释器时于解释器一起安装进来的模块称为系统内置模块(标准模块/标准库) # os模块,re模块,random模块,json模块,time模块,datetime模块 ## python中常用的第三方模块 # pip install ... # pip uninstall ...# requests库: # 处理HTTP请求的第三方库,在爬虫中应用广泛 # 使用其中的get()可以打开网络请求,获取一个response响应对象。响应结果中的字符串数据可以通过响应对象的text属性获取,响应结果中除了有字符串数据也有二进制数据,响应结果中的二进制数据可以通过响应对象的content属性获取。 import requests url='https://feyxiang.top/' resp=requests.get(url) resp.encoding='utf-8' # print(resp.text) txt=re.findall('<span class="text">([\u4e00-\u9fa5]*)</span>',resp.text) print(txt) # [正则表达式](https://www.runoob.com/regexp/regexp-intro.html)# openpyxl模块 # 用于处理Microsoft Exel文件的第三方库 # 可以对Excel文件中的数据进行写入和读取 # 函数功能: # load_workbook(filename),workbook.sheetnames, # sheet.append(lst) # workbook.save(excelname),Workbook()# pdfplumber可用于从PDF文件中读取内容 # Numpy是python数据分析方向和其它库的依赖库,用于处理数组,矩阵等数据 # Pandas是基于Numpy模块扩展的一个非常重要的数据分析模块,使用Pandas读取Excel数据更加的方便 # Matplotlib是用于数据可视化的模块,使用Matplotlib.pyplot可以非常方便的绘制饼图,柱形图,折线图等。# PyEcharts是由百度开源的数据可视化库,它对流行图的支持度比较高。 # 为用户提供了三十多种图形,如柱形渐变图,K线周期图等 # 帮助文档:https://pyecharts.org/#/zh-cn/ # PIL用于图像处理的第三方库,支持图像存储,处理和显示等操作 # jieba是Python中用于对中文进行分词的模块,它可以将一段中文文本分隔成中文词组的序列。 # PyInstaller第三方库可以在Windows操作系统中将Python源文件打包成.exe的可执行文件。 # 也可以在linux和MacOS操作系统中对源文件进行打包操作
2024年01月29日
11 阅读
0 评论
1 点赞
python全栈开发教程2
python全栈开发教程2字符串和正则表达式### 字符串和正则表达式 import re ## 字符串的常用操作 # lower(),upper() # split(sep=None) # count(),find(),index() # startswith(s),endswith(s) # replace(old,new),center(width,fillchar) # join(iter) # strip(chars),lstrip(chars),rstrip(chars) name = 'Amy' score = 98 ## 格式化字符串的方式 # 1)%s,%d,%f print('name: %s,score: %d' % (name,score)) # 2)f-string print(f'name: {name},score: {score}') # 3)str.format() print('name: {0},score: {1}'.format(name,score)) ## 字符串的编码和解码 ## 数据的验证 # isdigit(),isnumeric() # isalpha(),isalnum() # islower(),isupper() # istitle(),isspace() ## 字符串的处理 # 字符串拼接 # 1)+ # 2)' '.join() # 3)直接拼接 # 4)格式化字符串拼接 s='pythhhhonnn' new_s='' # 字符串去重 # 1)字符串拼接/索引+not in for item in s: if item not in new_s: new_s+=item print(new_s) # 2)集合去重+列表排序 new_s1=list(set(s)) new_s1.sort(key=s.index) print(''.join(new_s1)) ## 正则表达式 # 元字符:具有特殊意义的专用字符。 # 限定符:用于限定匹配的次数 ## re模块 # re.match(pattern,string,flags=0)(从开始位置匹配) # re.search(pattern,string,flags=0)(搜索第一个匹配的值) # re.findall(pattern,string,flags=0)(查找所有) # re.sub(pattern,repl,string,count,flags=0) # re.split(pattern,string,maxsplit,flags=0)异常处理## 异常处理 # raise # 抛出一个异常,从而提醒程序出现了异常情况,程序能够正确的处理这些异常情况 # 语法结构:raise [Exception类型(异常描述信息)] # 常见异常类型: # ZeroDivisionError,IndexError,KeyError,NameError, # SyntaxError,ValueError,AttributeError,TypeError,IndentationError函数## 异常处理 # raise # 抛出一个异常,从而提醒程序出现了异常情况,程序能够正确的处理这些异常情况 # 语法结构:raise [Exception类型(异常描述信息)] # 常见异常类型: # ZeroDivisionError,IndexError,KeyError,NameError, # SyntaxError,ValueError,AttributeError,TypeError,IndentationError ## 函数 # 函数的参数传递 # 位置参数,关键字参数,默认值参数, # 可变参数(*para个数可变的位置参数,**para个数可变的关键字参数) # 函数的返回值 # 变量的作用域 # 函数的递归操作 # 匿名函数lambda的使用 s=lambda a,b:a+b print(type(s)) print(s(10,20)) print('-'*15) lst=[10,20,30,40] for i in range(len(lst)): result=lambda x:x[i] print(result(lst),end=' ') print() # 内置函数 # 类型转换函数,数组函数,迭代器操作函数,其它函数
2024年01月27日
17 阅读
0 评论
0 点赞
python全栈开发教程1
b站视频python全栈开发教程(存在c++基础,只记录python)python是一种解释性语言。python语言特点:语法简洁,平台无关,粘性扩展,开源理念,通用灵活,强制刻度,支持中文,模式多样,类库丰富。python应用领域:Web开发,数据分析与科学计算,人工智能和机器学习,自动化测试和运维,网络爬虫,游戏开发。# 1.print a=100 print(a) print('hello,python') print(chr(98)) # ASCII码表 print(ord('北')) # 中文编码表 fp=open('node.txt','w') print('北京欢迎你',file=fp) fp.close() print(a,end='--->') print('hi') print('hello='+'hi') # +只能加两个字符串 # 2.input name=input('put your name:') print('我的名字是:'+name) # 3.代码缩进# 1.保留字 # 查询关键字 import keyword print(keyword.kwlist) print(len(keyword.kwlist)) # 2.标识符 # _开头是protected的 # __开头是private的 # 3.变量与常量 # python可以动态修改数据类型 # 规定所有字母大写为常量 luck_number=8 print('luck_number数据类型:',type(luck_number)) luck_number='hello' print('luck_number数据类型:',type(luck_number)) # 4.数值类型 # 5.字符串类型 # 6.字符串的索引和切片 # 7.布尔类型 # 8.数据类型转换 # 9. # eval()去调字符串的引号,执行里面的运算 # round()保留几位小数 # 10.算术运算符 # //整除 /除法 **幂运算 # 交换a,b=b,a # 运算符优先级# 1.顺序结构,选择结构,双分支结构,多分支结构,嵌套 # 多分支:碰见一个正确的执行并退出 score=eval(input('please write your grade:')) if 0<=score<60: score = 'C' elif 60<=score<80: score = 'B' else: score = 'A' # 2.模式匹配match-case结构 match score: case 'A': print('优秀') case 'B': print('良好') case 'C': print('不及格') # 3.循环结构(for,while) # range为[)结构的内置函数 a=0 for i in range(1,11): a+=i # for(while)...else...循环正常执行完后执行else部分 # 4.break continue # 5.空语句pass:只起占位符作用,使语法结构完整不报错,一般可用在if,for,while,函数定义,类定义中# 1.序列:用于存储多个值的连续空间 # 索引和切片 ### 四个组合数据类型 ## 2.列表 # 指一系列按照特定顺序排列的元素组成,是python中内置的可变序列。 # 创建方式 # 1)列表名=[ele1,ele2,...,eleN] # 2)内置函数list()。列表名=list(序列) lst=['hello','world','!'] # 列表遍历 # 1)for(in) for i in lst: print(i,end=' ') print() # 2)索引(for,range,len) for i in range(0,len(lst)): print(i,'--->',lst[i]) # 3)enumerate函数语法结构 for index,item in enumerate(lst): print(index,item) # 列表方法 # append,inset(index,x),clear(),pop(index),remove(x),reverse,copy # 列表生成式 # lst=[expression for item in range] # lst=[expression for item in range if condition] print('-'*25) ## 3.元组 # 是python内置的不可表序列 # 创建方式 # 1)元组名=(ele1,ele2,...,eleN) # 2)内置函数tuple() t=('元','组',[1,2,3]) print(t) # 元组遍历 # 1)for for item in t: print(item,end=' ') print() # 2)for+range()+len() for i in range(len(t)): print(i,'--->',t[i]) # 3) for index,item in enumerate(t,start=1): print(index,'--->',item) print('-'*25) ## 4.字典 # 字典类型是根据一个信息查找另一个信息构成“键值对”,它表示索引用的键和对应的值构成的成对关系。 # 创建方式 # 1)d={key1:value1,key2,value2,...} # 2)zip(lst1,lst2) lst1=[1,2,3,4] lst2=['cat','dog','zoo','car'] d=dict(zip(lst1,lst2)) print(d) # 语法结构 # dict(key1=value1,key2=value2,...) # 字典遍历 # 1)for element in d.items(): # pass # 2) for key,value in d.items(): # pass # 字典生成式 # d={key:value for item in range} # d={key:value for key,value in zip(lst1,lst2)} ## 5.集合 # 是无序的不重复元素序列,存储不可变数据类型 # 创建方式 # 1)s={ele1,ele2,...eleN} # 2)s=set(可迭代对象)
2024年01月26日
25 阅读
0 评论
0 点赞
链接合集
留存个人在日常所遇见的链接合集。 形式上包括不限于文章,vedio,pdf等。 内容上包括不限于学习,书籍,番剧等
2024年01月01日
70 阅读
1 评论
5 点赞