自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 不定长参数、有无返回值的通用多个装饰器、类对函数装饰以及带参数的装饰器

import timedef set_func(func): def call_func(*args, **kwargs): start_time = time.time() # func(args, kwargs) # 此处相当于传递了两个参数 func(*args, **kwargs) # 此处相当于拆包,多个参数 ...

2020-05-07 23:18:34 128

原创 对文字生成自己需要的词云

import wordcloudimport jiebafrom imageio import imread # imageio引入imread,读取图片_pict = 'd:\\xxx.jpg' # 引入图形mask = imread(_pict)_path = 'D:\\xx.txt' # 引入文本路径fo = open(_path,'r')t = fo.read()f...

2020-04-13 21:30:14 214

原创 使用正则简单爬取淘宝页面信息

import requestsimport redef getHtmlText(url): """提取html页面,注意反爬""" headers = {'User-Agent':'自己的', 'cookie':'自己的(注意隐私)' } try: resp = requests.get(url,headers=h...

2020-04-07 22:09:16 296

原创 爬虫selenium基本操作

from selenium import webdriverimport timefrom lxml import etreedriver = webdriver.Chrome() #需要把Chromedriver放到python根目录。driver.get('https://www.lagou.com/jobs/list_python?labelWords=&fromS...

2020-03-31 21:54:22 146

原创 BeautifulSoup获取中国大学排名

import requestsfrom bs4 import BeautifulSoupimport bs4def getHTMLText(url): """获取页面信息""" try: resp = requests.get(url, timeout=30) resp.raise_for_status() resp.enco...

2020-03-30 18:42:27 194

原创 百度360关键字提交

import requestsdef main(url): try: params = {'kv':'Python'} # 输入要查询的关键字,字典形式 resp = requests.get(url, params = params) #params传入 resp.raise_for_status() print(resp.request.url) resp....

2020-03-17 23:31:41 179

原创 字符串的处理以及异常

import requestsimport timedef main(url): try: r = requests.get(url) r.encoding = r.apparent_encoding return r.text except: return '产生异常'if __name__ == '__main__': url = 'http://www.bai...

2020-03-17 22:03:58 299

原创 07-2threading,gevent实现http服务器,返回浏览器html内容

# -*- coding: utf-8 -*-import reimport socketimport threadingimport geventfrom gevent import monkeymonkey.patch_all() # 使用gevent多协程时,使用此代码,下面的内容不需要更改,正常写def server(new_socket): recv = new_s...

2019-12-23 22:04:57 148

原创 07-01用tcp创建http服务器给浏览器返回固定内容

一定要先想想思路,在写代码import socket def server(new_socket): # 1.接收数据 request = new_socket.recv(1024) print(request) # 2.1发送数据---header response = "HTTP1.1 200 ok\r\n" # 为了满足不同客户端的浏览器换行需求,一般用“\r\n” r...

2019-12-23 22:01:59 137

原创 06-02正则search,findall,sub,split

1.search 从任意位置开始匹配,只会找到第一个符合条件的,不再继续匹配后面的import redef main(): content = "阅读量为 99999,点赞:96653" # search从任意位置匹配到一个符合条件之后不再继续匹配 # 但是,可以模拟match从头匹配:ret = re.search(r"^\d+",content) ret = re.se...

2019-12-23 22:01:41 67

原创 06-01正则match匹配单个字符,多个字符(从头开始匹配)

字符功能.匹配任意1个字符(除了\n)[]匹配[ ]中列举的字符\d匹配数字,即0-9\D匹配非数字,即不是数字\s匹配空白,即 空格,tab键\S.匹配非空白\w匹配单词字符,即a-z、A-Z、0-9、_、汉字\W匹配非单词字符*匹配前一个字符出现0次或者无限次,即可有可无+匹配前一个字符出现1次或者无...

2019-12-23 22:01:24 990

原创 05-02 协程gevent(monkey)的使用(并发)方便快捷

import geventimport timefrom gevent import monkey# 这是一个补丁,代码中有耗时操作,换为gevent中自己实现的模块monkey.patch_all()def f(n): for i in range(n): print('---%d---' % i) time.sleep(0.5)# gevent.joinall(...

2019-12-23 22:01:14 1180

原创 05-01协程yield+next

def task1(): while True: print("------1------") yielddef task2(): while True: print("------2------") yield def main(): t1 = task1() t2 = task2() while True: next(t1) next(t2) ...

2019-12-23 22:01:02 91 1

原创 04-2 生成器next启动,return返回值的处理以及小结

# 生成器是一种特殊的 迭代器# 如果一个函数中有yield,那么这个就不是函数,而是一个生成器模板def creat_num(all_num): a, b = 0, 1 c = 0 while c < all_num: # print(a) yield a # 关键,直接把这个值返给遍历的值,它是暂停一下继续执行下一个 a, b = b, a+b c += ...

2019-12-23 22:00:42 163

原创 04-1生成器初识

# 生成器是一种特殊的 迭代器# 如果一个函数中有yield,那么这个就不是函数,而是一个生成器模板def creat_num(all_num): a, b = 0, 1 c = 0 while c < all_num: # print(a) yield a # 关键,直接把这个值返给遍历的值,它是暂停一下继续执行下一个 a, b = b, a+b c += ...

2019-12-23 22:00:35 61

原创 03-1 迭代器基本构造与优化

基本构造1:from collections import Iterableclass Classmate(object): def __init__(self): self.names = list() def add(self,name): self.names.append(name) def __iter__(self): # 1. 如果想要一个对象成为一个 可以...

2019-12-23 22:00:23 96

原创 02-6案例多任务copy文件带完成率

import osimport timeimport multiprocessingdef file_copy(q, old_folder_name, new_folder_name, file_name): """-----完成复制------""" # print("---从%s---->%s中,复制的文件是%s" % (old_folder_name,new_folde...

2019-12-23 22:00:07 102

原创 02-5多进程-进程池

# -*- coding: utf-8 -*-import time,randomfrom multiprocessing import Pooldef worker(msg): t_start = time.time() print("---%s开始执行---" % msg) # random.random()随机生成0-1之间的浮点数 time.sle...

2019-12-23 21:59:52 94

原创 02-4多进程队列

# -*- coding: utf-8 -*-import multiprocessing,timedef download_data(q): """下载数据""" down_data = [11,22,33,44,55] for temp in down_data: # 往队列中存放数据 q.put(temp) print(...

2019-12-23 21:59:32 106

原创 02-3多进程

斤斤计较

2019-12-23 21:59:26 91

原创 02 -1多任务多线程threading+udp

# -*- coding: utf-8 -*-import timeimport threadingdef sing(): for i in range(5): print("------我在唱:山茶花-----%d" % i) time.sleep(1) # 如果treading创建的函数执行到此处时,当此线程循环完毕,子线程运行...

2019-12-23 21:59:00 96

原创 02-2多任务threading全局变量上锁和解锁

# -*- coding: utf -8 -*-import threading,timeg_num = 0# 创建一个互斥锁,默认都是没有上锁的mutex = threading.Lock()def test1(num): global g_num # 上锁,如果之前没有被上锁,那么此时上锁成功 # 如果上锁之前,已经被上锁了,那么此时会堵塞在这里,直到这...

2019-12-23 21:58:34 154

原创 01 网络编程 udp循环发送、退出

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-11-22 21:37:54 384

空空如也

空空如也

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

TA关注的人

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