老毛病了,在用某个新框架或新架构之前,总得花时间谷歌和自己折腾一番,才能知道这个框架和架构的优缺点,才会发现自己最喜欢、用的最顺手的的一种。近期在学习python,这里记录一下自己用的一套pythonweb开发的部署环境。简介之所以选择Flask,而没选择用的最多的django,是..
分类:
其他好文 时间:
2017-07-26 09:46:11
阅读次数:
374
#!/usr/bin/python3 # -*- coding: utf-8 -*- import requests import gevent import pymysql from gevent import monkey # 堵塞标记 monkey.patch_all() class SqlS... ...
分类:
数据库 时间:
2017-07-23 00:58:28
阅读次数:
656
关于爬虫,有scrapy框架,也有requests加协程 协程 进程的方法。 相关的包很多,比如threading 、threadpool、multiprocessing,还有threadpoolexecutor、processpoolexecutor这两个。 协程gevent pool的用法和th ...
分类:
其他好文 时间:
2017-07-20 15:30:30
阅读次数:
164
1 # 进程/线程/协程 2 # IO:同步/异步/阻塞/非阻塞 3 # greenlet gevent 4 # 事件驱动与异步IO 5 # Select\Poll\Epoll异步IO 以及selectors模块 6 # Python队列/RabbitMQ队列 7 8 ###############... ...
分类:
编程语言 时间:
2017-07-17 11:15:00
阅读次数:
550
说在前面:用协程还是多线程需要仔细考量。我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上。 一个简单的协程例子 ...
分类:
编程语言 时间:
2017-06-29 11:21:13
阅读次数:
183
最近在做一个恶搞程序,就是打开后,程序获得桌面的截图然后,然后全屏显示在屏幕上,用户此时则不能进行任何操作。 此时希望用户不能通过键盘alt+F4来结束程序及通过Win的组合键对窗口进行操作。我在网上搜索了一下,采用全局键盘钩子的方法可以做到屏蔽用户对键盘的操作。。以下为相关代码,用到了Form1_ ...
解释下,”gevent.spawn()”方法会创建一个新的greenlet协程对象,并运行它。”gevent.joinall()”方法会等待所有传入的greenlet协程运行结束后再退出,这个方法可以接受一个”timeout”参数来设置超时时间,单位是秒。运行上面的程序,执行顺序如下: 所以,程序运 ...
分类:
编程语言 时间:
2017-06-22 23:47:57
阅读次数:
283
之前之所以看greenlet的代码实现,主要就是想要看看gevent库的实现代码。。。然后知道了gevent的协程是基于greenlet来实现的。。。所以就又先去看了看greenlet的实现。。。 这里就不说greenlet的详细实现了。关键就是栈数据的复制拷贝,栈指针的位移。。。 由于gevent ...
分类:
其他好文 时间:
2017-06-07 14:38:36
阅读次数:
209
import requests from bs4 import BeautifulSoup import pandas as pd import gevent from gevent import monkey;monkey.patch_all() import time import re imp... ...
分类:
其他好文 时间:
2017-06-05 15:51:56
阅读次数:
294
public class SocketClientManager { public delegate void ConnectStateEventHandler(); public event ConnectStateEventHandler ConnectedEvent;//连接成功 public ...
分类:
Windows程序 时间:
2017-05-28 16:55:10
阅读次数:
1167