![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识要点
withxinxin
等下一个起点开始,我将会更好!加油
展开
-
TCP建立连接和断开连接的过程
一. TCP建立连接- 三次握手1. 客户端向服务器端发送syn包,进入syn_send状态,等待服务器的回复2. 服务器端收到客户端发送的syn包,发送syn_ack包给客户端,进入syn_recv状态3. 客户端收到服务端发送的syn_ack包后,发送个ack包到服务端。至此,客户端和服务端建立连接,进入established状态二、TCP断开连接-四次挥手1.主动关闭方发送fin包到被动关闭方,告诉被动关闭方我不会再给你发数据了;2.被动关闭方收到syn包,发送ack给对方原创 2021-08-18 18:01:28 · 3606 阅读 · 0 评论 -
SQL较难
SELECT c.month1 as 月份 ,c.date1 as 日期 ,c.num1 as 累计投诉额 -- ,IFNULL(d.num2,0) as 交易额 ,SUM(d.num2)over(partition by c.month1 ORDER BY c.date1) as 累计交易额 ,c.num1/SUM(d.num2)over(partition by c.month1 ORDER BY c.date1) as 投诉率 ,row_number()over(partitio.原创 2021-06-23 17:54:05 · 112 阅读 · 0 评论 -
6-7 pandas读取Excel细节
注: excel中有三个sheet1、sheet_name= None ,不指定具体sheet名,一次读取所有sheet,sheet名和内容以键值对形式存于字典data=pd.read_excel(r"E:/多行合并为一行/大站aheray.com客服&运营数据对接总表.xlsx",sheet_name=None)2. 指定具体的sheet名,只读取该表的内容data2=pd.read_excel(r"E:/多行合并为一行/大站aheray.com客服&运营数据对接总表.xls原创 2021-06-07 09:37:54 · 68 阅读 · 0 评论 -
05 -24 遇到知识点
dict.keys() 和 dict.values() 结果去掉 两种前缀的方法 直接加list 列表转化 list(dict.keys()) list(dict.values())数组array转化为列表array.tolist()列表转数组x= np.array(list)当一个列表汇总 各个位置存在多个空元素的时候 ,列表推导式 快速去除list = [ x for x in list if x != ' ']...原创 2021-05-24 17:09:02 · 43 阅读 · 0 评论 -
5-22 with open和open读取文章
文章原文如下,共有三行第一种读取 read()一次读取返回全部++++++++第二种读取 readline()每次只读取一行4.第三种读取 readlines()一次将全部内容读到一个列表中原创 2021-05-22 10:35:55 · 102 阅读 · 0 评论 -
5-21 利用word2vec和kmeans对词语进行聚类处理
1、 词语截图如下二. 需注意的是:word2vec 向量化的内容,可以将单个词的文见内容传入,也可以存在短句,但是向量化过程中都会将其拆分为单个单词并且向量话下图为:存在短句,但是没有去stopwords下图为分词且去除stopwords一般而言 ,去除停止词后效果更佳3 代码如下:注:本文参考 --原文链接:https://blog.csdn.net/weixin_45314989/article/details/104390725真心感谢 (:)1. 导入所需模块i原创 2021-05-21 12:03:43 · 2349 阅读 · 1 评论 -
5-21 python将列表元素写入文件
1、直接将元素写入,但是写入后所有单词紧密连接,无空格分隔s=["A","B","C","D"] f=open("xxx.txt","w") f.writelines(s)2、转为字符串写入文件,文件中每个次单独分开,但是每个词都是字符串s=["A","B","C","D",1,2,3] f=open("xxx.txt","w") f.write(str(s))f.close()3、依次循环遍历写入,各词单独成一行s=["A","B","C","D"] f=open("原创 2021-05-21 09:55:43 · 2130 阅读 · 0 评论 -
5-20 word2vec的参数含义
原创 2021-05-21 08:54:25 · 82 阅读 · 0 评论 -
4-29 pandas拆分一个Excel为多个excel
1、重点: iloc函数的切片iloc解释为:df.iloc[a:b ]a-表示行索引,b表示列索引iloc[,0] -表示行不限,列取第一列data.iloc[begin:end]在split=6的情况下,data.iloc[begin:end] 等价于data.iloc[0:6],即不限定列,行数为第一行至第七行 2、实例:import pandas as pdpath="C:/Users/Administrator/Desktop/客户投诉工单/投诉SPU数量.xlsx"原创 2021-04-29 18:11:31 · 754 阅读 · 0 评论 -
04-09 线性回归预测
1、训练数据模型的数据 x,y需转换成二维2、训练的数据类型需str或number3、相关系数的计算原创 2021-04-09 20:03:34 · 88 阅读 · 0 评论 -
SQL查询某一天的数据where条件的不同表达
1、SELECT * FROM cms_book_statistics WHERE substring(Convert(char(10),update_time ,112),1,8)='2021-04-02' 2、 SELECT * FROM cms_book_statistics WHERE update_time between '2021-04-02 00:00:00' and '2021-04-02 23:59:59' 3、 SELECT * FROM cms_book_.原创 2021-04-02 14:38:40 · 1431 阅读 · 0 评论 -
03-30 SQL-知识点补充记录
一 、union将两个SQL语句的查询 结果 链接并联,UNION 操作符用于合并两个或多个 SELECT 语句的结果集。注意UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table1UNIONSELECT column_name(s) FROM table2;注释:UNION 操作符选取不同的值,自带去重原创 2021-03-30 19:26:31 · 51 阅读 · 0 评论 -
03-23 pandas的无索引筛选(value.tolist())
原创 2021-03-23 12:13:08 · 4811 阅读 · 0 评论 -
03-23 pandas相关总结
一、格式设置 #设置列名与数据对齐 pd.set_option('display.unicode.ambiguous_as_wide', True) pd.set_option('display.unicode.east_asian_width', True) #显示所有列 pd.set_option('display.max_columns', None) #显示10行 pd.set_option('display.max_rows', 10) #设置显示宽度为1000,这样就原创 2021-03-23 12:09:52 · 111 阅读 · 0 评论 -
03-19 sqlalchemy模块的用法(大批量导入数据)
官网详情: https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#database-urls1、概念:SQLAlchemy是python的一个数据库ORM工具,提供了强大的对象模型间的转换,可以满足绝大多数数据库操作的需求,并且支持多种数据库引擎(sqlite,mysql,postgres, mongodb等)2、用法:from sqlalchemy import create_engine原创 2021-03-19 13:08:53 · 952 阅读 · 0 评论 -
03-17 navicat链接数据库要点
1.SSH-链接远程服务器2.常规链接是链接服务器中的数据库3.连接数据库成功后需关闭clients,再次启动才会成功进入数据库。原创 2021-03-17 09:00:59 · 81 阅读 · 0 评论 -
03-12 sorted()、复杂字典{}和 lambda 连用,if not的使用
1、wrong_dict={(filename.line):[number,rank]}list = sorted(wrong_dict.items(), key = lambda x: (-x[1][0], x[1][1]))[: 8] wrong_dict.items() --排序的对象 key=lambda 元素: 元素[字段索引] 排序的标准字段(-x[1][0], x[1][1]) 先以第一个元素排序,第一个相同时,再以第二个排序2、 python中原创 2021-03-12 23:31:45 · 106 阅读 · 0 评论 -
03-11 字符串和列表的对比
列表和字符串添加元素list.append(obj)+元素位置(下标) list.index(obj)string.find(obj) list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'a', 'a', 's']string1 = 'abcdefaas' 元素a出现的次数 list1.count('a')string1.count('a',0,len(s)) 切片 list1[::2] 输出:['a', 'c', 'e',原创 2021-03-11 22:03:40 · 124 阅读 · 0 评论 -
03-11 浮点数的存储+ round()
1、round(number,num_digits) Number 需要进行四舍五入的数字 Num_digits 指定的位数,按此位数进行四舍五入2、python存储浮点数时会异常(如 4.5 存为4.4999999)3、写程序取近似值a=float(input()+0.001)print(round(a))例如:a=input() #输入 8.5print(round(float(a)))print(round(float(a)+0.001))输入 8.5输出:89原创 2021-03-11 21:08:17 · 103 阅读 · 0 评论 -
03-11 字典的多种构造方法
b = {'name':'Li', 'sex':'girl'}c = dict(zip(['name','sex'], ['Li','girl']))d = dict([('name','Li'), ('sex','girl')])e = dict({'name':'Li', 'sex':'girl'})a = dict(name='Li', sex='girl')print(a,'\n',b,'\n',c,'\n',d,'\n',e)返回值:{‘name’: ‘Li’, ‘sex.原创 2021-03-11 09:46:54 · 336 阅读 · 0 评论 -
03- 10 面试题总结
面试总结:1.Python装饰器def func(func): a==100 print('wrapper加载前') def wrapper(): func() print(2323) print('wrapper加载后') return wrapper@funcdef house()2.Linux常用命令yum/opt 包管理工具cat 文件名|more 查看文件内容mkdir xxx 创建文件夹 + -p 表示3.Linux下主要目录有哪些原创 2021-03-10 23:23:17 · 55 阅读 · 0 评论 -
03-08 set() 去重后的元素顺序-split() 分割-list() 细节问题
1、set() 去重后返回值s=input()print(s) #输入的是字符串print(s.split()) #输入字符串间没有分割符存在,分割也就没意义print(list(s))a=set(s)print(a)print(type(a))b=list(a)print(b)b.sort(key=s.index)print(b)#返回值如下:sdshfjdjkfnkdsdshfjdjkfnkd['sdshfjdjkfnkd']['s',原创 2021-03-08 11:43:49 · 219 阅读 · 0 评论 -
03-07 map函数-list()-split()详解
1、 源码及输出list=input() b=list.split(" ")print(b) #这里b已经是个lista=map(int,b) print(a) #map后返回的是个地址print(list(a)) #这一句报错12 34 56 67Traceback (most recent call last): File "D:/爬虫/chengdu/LianJia/练习.py", line 23, in <原创 2021-03-07 21:24:34 · 656 阅读 · 0 评论 -
03-04 算法学习2(决策树)
1、定义决策树是一种非参数的有监督学习方法,它能从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,已解决分类和回归问题。非参数- 不限制参数的结构和类型,适用于各种各样的数据。自我理解:决策树就是 一种分类方法,即如何将数据进行分类和回归的规则。但是如何依据数据总结出最合适的规则,又是需要研究的。2、决策树算法的核心是要解决两个问题:①如何从数据表中找出最佳节点和最佳分支②如何让决策树停止生产,防止过拟合3、sklearn中的决策树模块模块 skl原创 2021-03-05 00:04:34 · 245 阅读 · 1 评论 -
03-04算法学习- 1 (sklearn 和k-means)
1、数据发展之路:①、数据小白②、数据分析师③、数据挖掘工程师④、算法工程师⑤、数据科学家2、sklearn即scikit-learn,是一个开源的基于python语言的机器学习工具,它通过Numpy,scipy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流的机器学习算法。(使用简单,但是源码内容复杂)有六大模块:分类,降维,回归,聚类,3、监督学习和无监督学习3-1 有监督学习:模型在训练的时候,即需要特征矩阵x,也需要真实标签y原创 2021-03-04 17:22:51 · 166 阅读 · 1 评论 -
02-27多个CSV文件的合并
1、 (windows)即cmd到该目录下 copy *CSV newname.csv原创 2021-02-27 20:35:42 · 112 阅读 · 0 评论 -
02-27 提高scrapy爬取效率的方法
1、增加并发(增加并发线程数)scrapy默认开启的线程为32个,可以适当增加。在setting文件中修改为 1002、降低日志级别在运行scrapy时会有大量日志信息输出,为了减少日志信息的输出,降低CPU的使用率,可以设置输出错误日志 LOG_LEVEL='ERROR' 或者 'INFO'3、禁止cookie如果不是真的需要cookie,则在爬取数据时可以禁止cookie,从而减少CPU的使用率。在setting中写 COOKIES_ENABLED=False4、禁止重试:对原创 2021-02-27 06:26:54 · 845 阅读 · 0 评论 -
02-27 windows下MySQL安装流程
1、下载安装包并解压2、在dos进入对应路径下的bin文件3、初始化数据库 mysqld --initialize --console (注意:此过程中需要记录初始密码,后第一个登陆使用)4、安装mysqlmysqld --install5、启动mysql服务net start mysql / sc start mysql 6、登陆数据库mysql -u rooot -p7、修改密码alter user 'root'@'localhost' identified by原创 2021-02-27 05:40:47 · 95 阅读 · 0 评论 -
02-23 成都链家项目-2
1、创建工程-scrapy startproject LianJia2、进入spiders目录下创建爬虫文件(在终端)进入文件 -cd LianJia(确保爬虫文件位于spiders内) 创建文件 - scrapy genspiders first www.xxx.com3、写spider文件原创 2021-02-23 23:52:58 · 68 阅读 · 0 评论 -
02-22 python生成器详解-2
一、原理 生成器作用:解决了资源消耗的问题,用一个值,产生一个值,用完就扔,而列表是个数据存储结构,元素都是已生成存储起来的# 1 [ ] 为列表生成式list1=[ x*x for x in range(5)]# 第一次遍历for i in list1: print(i,end=" \n")# 返回值为:0 1 4 9 16# 第二次遍历for i in list1: print(i,end=" \n")# 返回值为:0 1 4 9 16原创 2021-02-22 23:52:28 · 329 阅读 · 0 评论 -
02-21二手房项目之-scrapy环境准备
1、一切模块安装都在python同目录下2、如何进入python(同级)目录终端,先找到python安装位置,然后在上方路径栏中输入-cmd,就直接进入终端3、pycharm中终端的利用3、python生成器的原理深入原创 2021-02-22 00:07:09 · 60 阅读 · 0 评论 -
02-21 python 生成器
1、 含义: python生成器只要在def中有yield关键字,生成器,2、意义:其功能是每次函数运行到yield的时候,会返回yield后边的值并且函数暂停,知道下次调用3、eg: def fib(times): n=0 a,b=0,1 while n<times: print(b) a,b=b,a+b n+=1 return "done"# fib(10) #返回值如下:# 1#原创 2021-02-21 22:55:40 · 47 阅读 · 0 评论 -
02 -20 windows下scrapy环境的安装
1、 windows终端下安装: (依赖wheel和twisted模块) 注意:需与Python安装同目录下2、依赖anaconda安装:pip install scrapy -y (依赖的包一起安装)3、原创 2021-02-20 22:13:22 · 52 阅读 · 0 评论 -
02-18 post请求参数(form data和request payload)
1、AJAX Post请求中常用的两种传参数的形式: form data 和 request payload2、get请求的时候,我们的参数直接反映在url里面,形式为key1=value1&key2=value2形式,比如:http://news.baidu.com/ns?word=NBA&tn=news&from=news&cl=2&rn=20&ct=13、若post请求;那么表单参数是在请求体中,也是以key1=value1&key原创 2021-02-18 01:33:02 · 3378 阅读 · 0 评论 -
02-16 scrapy五大核心组件
1、scrapy五大核心组件的Spider 主要用来干活的,用于从特定的网页汇总提取自己需要的信息,即所谓的实体(item),用户也可以从中提取连接,让scrapy继续抓取下一个网页①产生url(对不同的url,封装请求对象)②解析数据引擎用来处理整个系统的数据流处理,触发事务(框架核心)对象的实例化,方法的调用,都是通过引擎实现;但是方法和实例化类很多,引擎如何知道? 引擎通过自己接受到的数据流l类型来判断,如接受到response,就 需要去调用parse方法,如接收到i原创 2021-02-17 03:19:00 · 114 阅读 · 0 评论 -
02-15 scrapy-手动发送请求(get)(爬取多页+递归解析)
一、如何手动爬取重点1、使用场景: 爬取多个页码(有很多页的网页)对应的页面源码数据2、url构造 ①进入网页的起始url (起始urlscrapy会自动发送请求) ②定义一个通用的url模板(多个url时需手动发送请求)3、递归根式函数 yield scrapy.Request(url,callback) 其中解析函数parse为递归函数4、scrapy一般发送get请求 发送post请求如下(不常用): data={ #post请求的参数 'kw':'xxx' }原创 2021-02-16 21:46:52 · 857 阅读 · 0 评论 -
02-14 scrapy +持久化存储+四文件详解(spider+setting+items+pipelines)
一、重点总结:extract()方法scrapy中xpath返回的不是string,而是list,列表 #元素是selector对象 #extract() 是将Selector对象中的data参数的值取出 #列表直接调用extract(),表示extract()作用到列 #表中的每一个元素二、 实例爬取糗百文章1、创建项目工程 主目录下(cd ../)scrapy startproject qiubaiPro2、创建爬虫文件 cd qiubaiPro -scrap原创 2021-02-14 23:58:53 · 104 阅读 · 0 评论 -
02-13 爬虫框架- scrapy
1、爬虫框架: scrapy(主要) +pyspider(一般)2、什么是框架?如何学习框架? ①一个集成了各种功能且具有很强通用型(可以被应用在各种不同需求中)的一个 项目模板 ②初级学习如何使用即可3、集成了哪些功能:高效能的数据解析操作,持久化的存储,高效能的数据下载操作...4、环境安装 注:scrapy的异步是借助于Twisted实现的, 所以需要提前下载安装Twisted windows: ①pip install wheel ②下载twisted h原创 2021-02-14 23:30:37 · 96 阅读 · 0 评论 -
02-12 多任务异步协程实例
一、注意事项:'''1、将多个对象存储到一个列表中,然后将该列表注册到事件循环中,在注册过程中,该列表需要用wait方法进行处理2、在任务对象对应的特殊函数内部的实现中,不可以出现不支持异步模块的代码,否则会中断整个异步效果,并且在该函数的内部中每一组阻塞操作都必须使用await关键字进行修饰3、requests模块不支持异步,所以不能出现在async 修饰的函数中二、代码框架import timeimport asynciourls=[ 'http://www.taob原创 2021-02-12 23:17:01 · 134 阅读 · 0 评论 -
02-12 单线程+多任务异步协程
一、 理论基础1、线程是有限的,线程开启过多,CPU吃不消2、多任务--理论上每个线程下可以开启很多协程,但实际效果一般500个最佳,速度最快‘’’二、爬虫推荐单线程+多任务异步协程1、协程是一个对象,可以吧协程当做衣蛾特殊的函数,如果一个函数的定义被async关键字修饰,该特殊的函数被调用后函数内部的程序语句不会被立即执行,而是会返回一个协程对象,如eg12、任务对象(task):所谓的任务对象就是协程对象的进一步封装( 即是一个高级的协程对象)在任务对象中可以实现显示协程原创 2021-02-12 18:03:45 · 276 阅读 · 0 评论