自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (8)
  • 收藏
  • 关注

原创 asyncio 协程笔记

event loop就是一个普通的Python对象,可以通过asyncio.new_event_loop()创建无数个event loop对象。不过,loop.run_xxx()家族的函数都是阻塞的,比如run_until_complete()会等到给定的coroutine完成再结束,而run_forever()则会永远阻塞当前线程, 知道有人停止了该event loop为止。所以在同一个线程里,...

2019-08-13 18:24:54 235

原创 多线程爬取爱上租公寓数据

现在大家都喜欢用Scrapy框架爬取网站,因为Scrapy框架集成了很多功能,而且底层用了twisted 非阻塞异步框架,提供了多线程爬虫功能,那么我们如何实现不用框架也能快速高效的爬取网站呢? 那么今天我就跟大家分享一个办法吧!今天给大家分享的是采用 多线程 + 生产者消费者模式来构建的爬虫代码,不过为的是给大家分享,便于理解我给大家简单用面向过程写的代码,如果有朋友想要面向对象的代码可以在...

2018-12-07 16:56:59 349 1

原创 python爬取天猫评论并制作词云, 用Scrapy+ selenium实现

前一段时间爬取了天猫某些商品的评论数据并进行轻度处理,今天就跟大家聊聊见解吧!话不多说直接开始:大家都知道淘宝天猫作为国内最大的电商平台之一, 它对网站的加工是极好的,网站的配置也是非常完美的,其中就包括了反爬虫的设计. 淘宝的登录页面是可以检测selenium操作的,所以用selenium模拟登录是不可行的,只要你用selenium模拟登录不管怎么样都是失败的.但是我们可以带cookie...

2018-12-06 18:45:07 1260

原创 selenium爬取魔方公寓, 利用鼠标中轴滚动动态拿到魔方公寓评论数据

     最近看到有兄弟们爬取魔方公寓受阻了,虽然能爬取房源信息但是爬取不到评论信息,而且接口是加密的, 用selenium的模拟滚动条滚动也不能让评论下翻,最后只能拿到十几条数据,读者最后试了几遍, 用了很多方法都没法实现,但是最后还是被小编攻破了, 一起来看一下吧!    首先我是按照常规写法, 模拟滚动条滚动,但是最后得到的却是主页面的滚动而评论页纹丝不动, 后来发现评论页原来整体是...

2018-12-06 11:13:02 354

原创 UDP/TCP总结大全

使用udp发送/接收数据步骤:    1. 创建客户端套接字    2. 发送/接收数据    3. 关闭套接字编码的转换    str --> bytes:  encode() 编码    bytes --> str:  decode() 编码UDP绑定端口号    1. 创建socket套接字    2. 绑定端口号    3. 接收/发...

2018-12-02 17:36:22 480

原创 进程总结, 快速理解进程,进程池

进程: 程序运行在操作系统上的一个实例, 就称之为进程.进程需要相应的系统资源:内存,时间片,pid. 创建进程:    1. 首先要导入multiprocessing中的Process;    2. 创建一个Process对象    3. 创建Process对象时, 可以传递参数;4. 使用start()启动进程;5. 结束进程. Process语法结构:...

2018-12-02 16:19:35 249

原创 Python中进程 线程 协程 锁 的各种问题大揭秘,12个问题大总结...

        任何计算机语言都离不开进程线程以及协程的话题,那么今天我们来聊聊Python的进程,线程以及协程是怎么样运行的,以及锁结构的各种类型,还有最重要的是解密各种遇到的问题!!! 那么下面咱们就直入正题吧!  1. 谈谈对多进程多线程以及协程的理解         进程: 一个运行的程序(代码)就是一个进程,没有运行的代码叫程序,进程是系统资源分配的最小单位,进程拥有自己...

2018-11-24 20:40:17 825 1

原创 python 内存管理机制和调优手段详解

今天和大家探讨一下Python内存管理机制和调优手段.话不多说,直接上干货:那么Python的内存管理机制都有什么呢?               1 . 引用计数                2 . 垃圾回收                3 . 内存池调优手段也都三大金刚:                1. 手动垃圾回收                 2. 调...

2018-11-23 21:22:34 513 1

原创 朴素贝叶斯就是这么简单

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。1. 贝叶斯原理1  分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱”之类的话...

2018-11-21 14:19:09 352

原创 二分查找法详解,解析二分查找法

作者最近突然想到了二分查找法,今天进拿出来跟大家分享一下二分查找法顾名思义就是把列表分成两份进行查找,即先定义个最小下标start=0和一个最大下标end = len(list),然后通过相加对2求余或者除以2在转换为int类型转换为整数,这个随心而定,即center=(start+end)//2或者center=int((start+end)/2)然后得到list[center]的值,判断它...

2018-11-17 21:04:29 2347 1

原创 Python四大流行排序算法详解--快速排序-冒泡排序-选择排序-插入排序。

就作者而言使用Python经常用到的排序算法就是快速排序、冒泡排序、选择排序以及插入排序      就时间复杂度而言,快速排序是高级排序,查找快速,时间复杂度为nlgn     而冒泡排序、选择排序、插入排序则是比较低级的查找算法,时间复杂度为n**2 下面我们来看快速排序:快速排序的思想是:首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数...

2018-11-17 20:41:54 2042

原创 pandas库汇总,pandas各种函数的运用,快速掌握pandas

最近用到了pandas库和numpy库,于是进在这里简单汇总一下吧!#创建一个默认索引从0开始的Seriess = pd.Series([1,2,3,4,5,6])#创建一个自定义索引的数组,索引由index指定,和前面数组依次对应s = pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])#使用字典创建一个Data...

2018-11-08 22:29:46 759

原创 机器学习之余弦相识度初解(基础)

余弦相似度:计算向量之间的角度值:创建向量import numpy as npx = np.array([3, 5])y = np.array([4, 2])计算两个向量的长度lx = np.sqrt(x.dot(x))  (x.dot(x)是点乘,计算平方和)ly = np.sqrt(y.dot(y))计算余弦值,即cos值cos = x.dot(y)/(lx*ly)  (向...

2018-11-05 20:48:09 458

原创 线程是什么?线程和进程的区别,怎么最好的理解使用和快熟掌握多线程?多线程的各种坑以及多线程锁的简介和使用

多线程(thread)    如何理解线程?             比如在qq里面,可以同时语音和视频,在word里面,可以同时打字、拼写检查             这些同时执行的就可以理解为线程             多任务-多进程、多线程         进程和线程的区别                    (1)线程属于进程,一个线程只能属于一个进程,一个进...

2018-11-05 20:42:26 232

原创 快速掌握多进程,循序渐进解析多进程,生动讲解多进程的原理以及使用

多进程(process)      怎么理解进程?                   在电脑中,启动一个软件,系统就会分配一个进程                   在代码中,写好的代码没有运行之前称之为程序,运行的时候就是一个进程                   以前写的代码都只有一个主进程,需要通过主进程来创建其他的子进程      进程创建            ...

2018-11-05 20:31:30 211

原创 简单编写银行管理系统,用基础编写

import osimport pickle# 用户的类class User: def __init__(self, uid, name, card): self.uid = uid # 身份证 self.name = name # 用户名 self.card = card # 银行卡 def __...

2018-08-11 16:11:10 1168

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(07匹配模式)

简介:所谓匹配模式就是对匹配的原则进行整体的修饰。 示例代码:import re# 忽略大小写re.Is = re.search(r'hello', 'HELLO world', re.I)print(s.group())# 正则默认是单行匹配,使用 re.M 可以进行多行匹配s = re.search(r'^hello', 'sdhasdh\nhello world'...

2018-08-11 14:53:01 192

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(06贪婪匹配)

贪婪:最大限度的匹配。正则的匹配默认就是贪婪的。非贪婪:只要满足条件,能少匹配就少匹配。‘?’经常用于取消贪婪。 示例代码:import re# ?:取消任意多次的贪婪匹配# c = re.compile(r'a.*?b')# ?:取消至少一次的贪婪匹配c = re.compile(r'a.+?b')s = c.search('ssjdsdabjdsd')if...

2018-08-11 14:47:25 180

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(05分组匹配)

正则表达式中还可以对匹配的内容进行分组匹配,如下:01:普通分组匹配。代码示例1:import rec = re.compile(r'(\d+)([a-z]+)(\d+)')s = c.search('sdsdj235sadhasjd36432sjdha')# 完整匹配结果print(s.group(), s.span())# 等价于上式print(s.group(...

2018-08-11 14:41:20 190

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(04 边界限定以及优先级控制)

正则匹配中如果匹配中想要查找以xxx开头或者结尾要用到边界限定,如下:^  :以指定内容开头$ :以指定内容结尾示例代码:import re# ^:以指定内容开头f = re.findall('^hello', 'hellosjdhelloalskdhello')print(f)# $:以指定内容结尾f = re.findall('hello$', 'hellos...

2018-08-11 12:15:52 339

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(03次数限定)

正则表达式中需要对匹配的内容进行限定的时候可以用到以下内容:* :前面的字符出现任意次+ :最少一次? :最多一次,即0次或者1次{m, n} :最少m次,最多n次,即m <= 次数 <= n{m,}:至少m次{,n}:至多n次{m}:指定m次 代码举例:import re# 任意次f = re.findall('ab*c', 'shds...

2018-08-11 12:05:13 474

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(02 单字符)

单个字符包括:01  普通字符也就是说上篇文章的一对一的完全匹配02  匹配某一范围内的任意字符,本篇讲述的就是匹配任一字符的规则以及简便方法简介:[ ]: 中间的任意一个字符[ a-z ]: a~z之间的任意字符(所有的小写字母)[a-zA-Z]: 匹配所有的字母,多个连续的片段中间不能有任何多余的字符[^0-9]:前面加上‘^’字符意为匹配除0-9以外的任意字符,不...

2018-08-11 11:52:18 187

原创 python解析之正则表达式,由浅入深带你轻松学会正则表达式(01基础)

前言:正则不是我们写的,python中正则的解析通过re模块完成相关函数:1.match:从开头进行匹配,匹配到就返回正则结果对象,没有返回None。2.search:从任意位置匹配,功能同上。3.findall:全部匹配,返回匹配到的内容组成的列表,没有返回空列表。4.compile:生成正则表达式对象示例代码:import re# 从开头查找,找到返回正则匹配...

2018-08-11 11:37:42 851

原创 文件管理,包括文件打开操作,读写的12种方式的介绍,编码方式简介,文件读写的种种操作以及关闭操作和bytes类型的简单介绍

文件管理打开文件(open) 示例 fp = open('00-test.txt', 'r') 参数 file:操作的文件名mode:打开的方式endoding:编码方式,通常不用指定,系统会自动识别 打开方式 r:只读方式,文件不存在会报错 w:只写方式,文件不存在则创建,存在则清空 a:追加方式,文件不存在则创建,存在直接打开(不会清空),只...

2018-08-01 12:16:37 446

原创 python文件操作,包括目录管理os模块,path模块

目录管理(os)  # 执行系统命令  # 清屏  # os.system('cls')  # 调出计算器  # os.system('calc')  # 查看操作系统类型  # nt:表示windows,posix:表示类unix  # print(os.name)查看当前工作目录  import os  #查看当前工作目录  print(os.getcwd())...

2018-08-01 12:05:11 162

原创 常用模块之datetime模块(date,time,datetime,timedelta)

from datetime import dateimport time# 创建对象d1 = date(2018, 7, 31)print(d1)d2 = date.today()print(d2)d3 = date.fromtimestamp(time.time())print(d3)# 标准格式print(d3.isoformat())# 日...

2018-08-01 09:29:42 4669

原创 常用模块之calendar模块(即日历模块)

import calendar# 返回一年的日历c = calendar.calendar(2018)print(c)# 返回某年的某月的日历m = calendar.month(2018, 7)print(m)# 闰年判断print(calendar.isleap(2004))# 两个年份之间的闰年数量,区间:[起始,结束]print(calen...

2018-08-01 09:17:05 1182

原创 常用模块解析之time模块

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。time模块:    sleep:休眠指定的秒数(可以 是小数)                                    time:获取时间戳(从1970-01-01 00:00:00到此刻的秒数)   ...

2018-08-01 09:01:15 547

原创 简单实现查询号码归属地,基础python语言实现

s = '''5582|1860101|010|北京市|北京联通GSM卡5583|1860100|010|北京市|北京联通GSM卡5584|1368141|010|北京市|北京移动神州行卡5585|1860111|010|北京市|北京联通GSM卡5586|1358198|010|北京市|北京移动动感地带卡5587|1361139|010|北京市|北京移动预付费卡5588|136113...

2018-07-24 17:23:45 408

原创 自定义函数,对列表进行排序,默认升序,可以降序

代码编写  运行结果参考代码:def list_sort(lt, reverse=False): n = len(lt) for i in range(n-1): for j in range(i+1, n): if reverse: if lt[i] < lt[j]: ...

2018-07-24 17:09:43 5913 1

原创 python的while循环和for循环的练习

练习结果:说明:python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。具体代码:# 计算1~100之间所有整数的和num = 0i = 1while i < 101: num += i i += 1print(num)# 打印字符A~Z'''n = 65...

2018-07-23 13:10:52 1880

原创 python简单运用,打印图形,九九乘法表;运用基础实现

 运行结果:运行代码:for循环方法while循环法:运行结果:运行结果:具体代码:# 打印九九乘法表for i in range(1,10): for j in range(1,i+1): print('{}*{}={}\t'.format(i,j,i*j),end='') print()从...

2018-07-21 12:10:49 816

原创 用python做冒泡排序和选择排序,适合初学者

具体代码:lt = [1, 5, 7, 3, 2]# 冒泡排序:从小到大# 第一轮:1 5 3 2 7# 第二轮:1 3 2 5 7'''n = len(lt)# 外层循环控制比较多少轮for i in range(n-1):# 内层循环控制元素的比较 #for j in range(n-1): for j in range(n-i-1)...

2018-07-21 11:52:04 5205

爱上租公寓爬取

通过request库对爱上租公寓进行数据爬取, 用多线程+ 生产者消费者模式进行高效爬取,保存到数据库中

2018-12-07

天猫评论数据和词云制作代码

运用Scrapy对淘宝天猫进行爬取, 拿到天猫的评论数据, 运用selenium模拟浏览器方法进行爬取, 拿到所以页数的评论数据, 通过数据清理后, 用jieba切词进行词云制作

2018-12-07

爬虫队列的结束以及使用

详细介绍了队列是什么以及队列的各种用法,各种函数以及用法

2018-11-05

进程池的简介创建以及使用

具体描述什么是进程池,怎么创建进程池,以及进程池的使用,本代码是包括进程池结束,创建,使用和举例

2018-11-05

百度贴吧的爬取

爬取百度贴吧的代码,通过关键字进行具体贴吧的爬取,可指定页码,简单易懂易学习,适合初学者

2018-11-05

京东商品评论爬取

一个爬取京东评论页的代码,简单易懂,0基础可学,可读性很高哦

2018-11-05

爬取51job网站招聘信息

这是一个爬取51job招聘网站的代码,可以输入关键字爬取想要的各个职业的招聘信息,根据页码爬取制定页数的信息,可以选择存储到TXT,mongodb或者mysql中,代码简单易懂,可阅读性高

2018-11-05

Django框架实现简单电影小网站

用Django框架编写一个简单的电影小网站,可以实现登录注册,连接数据库,退出登录收藏等

2018-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除