- 博客(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
165
原创 对文字生成自己需要的词云
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
256
原创 使用正则简单爬取淘宝页面信息
import requestsimport redef getHtmlText(url): """提取html页面,注意反爬""" headers = {'User-Agent':'自己的', 'cookie':'自己的(注意隐私)' } try: resp = requests.get(url,headers=h...
2020-04-07 22:09:16
391
原创 爬虫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
183
原创 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
227
原创 百度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
217
原创 字符串的处理以及异常
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
339
原创 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
182
原创 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
180
原创 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
107
原创 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
1048
原创 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
1266
原创 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
131
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
198
原创 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
95
原创 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
135
原创 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
127
原创 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
129
原创 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
146
原创 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
131
原创 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
180
原创 01 网络编程 udp循环发送、退出
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-11-22 21:37:54
428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人