python
走在下雨天的人
这个作者很懒,什么都没留下…
展开
-
python 进阶之异步编程之asyncio
·同步是指完成事务的逻辑,先执行第一个事务,如果阻塞了,会一直等待,直到这个事务完成,再执行第二个事务,顺序执行。。。·异步是和同步相对的,异步是指在处理调用这个事务的之后,不会等待这个事务的处理结果,直接处理第二个事务去了,通过状态、通知、回调来通知调用者处理结果。为什么要使用异步?在Python中,IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板在Python3.5之后加入asyncio模块asyncio 提供一组 高层级 API 用于:并原创 2020-07-31 22:31:08 · 230 阅读 · 0 评论 -
多进程和多线程复习
定义进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.区别一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程(资源比进程少)...原创 2018-11-24 18:01:30 · 143 阅读 · 0 评论 -
scrapy通用随机下载延迟、IP代理、UA
目录结构main.py文件# -*- coding:utf-8 -*-from scrapy import cmdlinecmdline.execute('scrapy crawl test'.split())settings.py文件# -*- coding: utf-8 -*-BOT_NAME = 'mytest'SPIDER_MODULES = ['myt...原创 2018-11-25 15:41:29 · 4057 阅读 · 0 评论 -
django关于cookie的用法
状态保持浏览器请求服务器是无状态的。无状态指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求。无状态的应用层面的原因是:浏览器和服务器之间的通信都遵守HTTP协议。根本原因是:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的Socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。有时需要保存下来用户浏览...原创 2018-11-27 20:26:21 · 168 阅读 · 0 评论 -
djiango模板
1. 模板文件的使用静态部分,包含html、css、js。动态部分,就是模板语言render方法实现的步骤def my_render(request): # 1.加载模板文件,获取一个模板对象 temp = loader.get_template('booktest/index.html') # 2.定义模板上下文,给模板传参数 context = Requ...原创 2018-11-28 09:52:56 · 1912 阅读 · 0 评论 -
django的url反向解析详解
反向解析的用途当某一个url配置的地址发生变化时,页面上使用反向解析生成地址的位置不需要发生变化。根据url 正则表达式的配置动态的生成url。在项目urls中包含具体应用的urls文件时指定namespace;urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^',include('boo...原创 2018-11-28 13:54:46 · 802 阅读 · 0 评论 -
django的HTML转义
编辑商品详情信息,数据表中保存的是html内容。在模板上下文中的html标记默认是会被转义的。小于号< 转换为&lt;大于号> 转换为&gt;单引号' 转换为&#39;双引号" 转换为 &quot;与符号& 转换为 &amp;要关闭模板上下文字符串的转义:可以使用 {{ 模板变量|safe}}也可以使用:{% auto...原创 2018-11-28 14:08:25 · 364 阅读 · 0 评论 -
django手动生成验证码
验证码的作用在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻业务服务器、数据库服务器的压力。这种代码在网上可以搜到很多。首先安装包Pillow3.4.1。pip install Pillow==3.4.1在booktest/views.py文件中,创建视图verify_code。提示1:随机生成字符串后存入session中,用于...原创 2018-11-28 14:59:53 · 242 阅读 · 0 评论 -
django中间件
中间件Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性,其它的MVC框架也有这个功能,名称为IoC。使用:1)项目目录下新建middleware.py文件。# -*- coding:utf-8 -*-from django.http...原创 2018-11-28 19:20:23 · 135 阅读 · 0 评论 -
django 详解Admin后台管理
1准备工作:创建管理员的用户名和密码。python manage.py createsuperuser2本地化在setting文件中更改:LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'3在应用的admin.py中注册模型类打开booktest/admin.py文件,注册地区模型。from django.contrib...原创 2018-11-28 20:42:05 · 375 阅读 · 0 评论 -
django实现文件下载功能
django实现文件下载注意解决下载文件名问题,导入from django.utils.encoding import escape_uri_path下载失败很多时候也是[“Content-type”]设置有问题import loggingimport requestsfrom django.http import Http404, FileResponsefrom django...原创 2019-01-24 19:38:54 · 527 阅读 · 0 评论 -
udp通信和利用tcp搭建文件下载系统
udp通信发送# -*- coding:utf-8 -*-import socketdef main(): # 创建套接字 udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #绑定端口 #发送,udp发送不用绑定地址,只需要指明发送的地址即可, data = '哈哈' ...原创 2018-11-19 21:06:24 · 197 阅读 · 0 评论 -
python实现冒泡选择插入快排
冒泡排序通过交换使相邻的两个数变成小数在前大数在后,这样每次遍历后,最大的数就“沉”到最后面了。重复N次即可以使数组有序。def butttle(arr): for i in range(len(arr)-1): exchange = False for j in range(len(arr)-i-1): if arr[j]&amp;amp;gt...原创 2018-11-15 16:04:15 · 196 阅读 · 0 评论 -
pandas DataFra,学习笔记大全
Pandas中iloc和loc以及ix的区别检查字段是否含有缺失值:`df.name.isnull().values.any()检查DataFrame是否还有缺失值:df.isnull().values.any()检查字段缺失值的数量: df.isnull().sum()计算所有缺失值的数量:df.isnull().sum().sum()处理缺失值舍弃缺失值 舍弃含有任...原创 2018-09-06 17:26:55 · 472 阅读 · 0 评论 -
selenium不加载图片+下拉滚动条
配置浏览器吧加载图片from selenium import webdriveropt = webdriver.ChromeOptions()prefs = {'profile.managed_default_content_settings.images':2}opt.add_experimental_option('prefs',prefs)browser = webdriver...原创 2018-10-03 17:08:09 · 510 阅读 · 0 评论 -
python常用技巧
print不换行输出print('number,end='')print光标回到行首不换行输出print('\r',number,end='')原创 2018-10-18 10:12:57 · 293 阅读 · 0 评论 -
python 处理CSV文件
读取import csvwith open('test.csv','r',encoding='utf8') as csvfile: reader = csv.reader(csvfile) for i in reader: print(i)写入key_words = [111,222,333]out = open('test.csv','a',new...原创 2018-10-18 10:30:19 · 153 阅读 · 0 评论 -
selenium经常使用的一些小技巧
selenium十分强大,可以解决我们爬虫时遇到的许多问题,比如js,ajax等,废话不多,直接上代码。使用selenium,我们可以通过代理访问网站from selenium import webdriveroptions = webdriver.ChromeOptions()options.add_argument('--proxy-server=https://47.104.2...原创 2018-11-01 16:29:16 · 490 阅读 · 0 评论 -
使用selenium进行多窗口处理demo
使用selenium需要启动浏览器,当然必要的环境肯定要支持啦,做爬虫效率也没有框架来的快,但是我喜欢啊(调皮)这是一个可以进行多窗口抓取的demo,可以根据自己的需求进行更改from selenium import webdriverfrom selenium.webdriver.common.by import By# WebDriverWait 库,负责循环等待from sele...原创 2018-11-01 16:39:48 · 1391 阅读 · 0 评论 -
scrapy中间件源码提升爬虫质量
Request源码cookies 接受一个字典"""This module implements the Request class which is used to represent HTTPrequests in Scrapy.See documentation in docs/topics/request-response.rst"""import sixfrom w3l..原创 2018-11-06 14:33:16 · 625 阅读 · 0 评论 -
mongodb使用+scrapy中使用
安装去官网下载解压这里贴上windows版本下载地址https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.3.zip在解压目录下创建文件夹data\db作为数据库路径为了方便使用可以写一个脚本文件start.bat内容如下D:\mongodb-win32-x86_64-2008plus-ssl-4...原创 2018-11-06 16:10:09 · 155 阅读 · 0 评论 -
爬虫分模块写法
这里主要分成五个模块调度器url管理器下载器解析器数据处理import requestsfrom fake_useragent import UserAgentfrom lxml import etree# url管理class UrlManager(object): def __init__(self): self.new_url = [] ...原创 2018-11-13 15:39:55 · 249 阅读 · 0 评论 -
xadmin安装与使用Django2.0
Python3 &amp; Django2.0.1安装官方适配Django2.0的包pip install git+git://github.com/sshwsfc/xadmin.git@django2注册Xadmin 与 crispy-formsMxonline2/settings.py的INSTALLED_APPS中 'xadmin', 'crispy_forms'...原创 2018-11-08 08:19:52 · 196 阅读 · 0 评论 -
gensim基本使用+文本相似度分析
一、分词分词工具 1、python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP 2、Hanlp 首先要对句子进行初步处理。本文对文本依次进行了【去空去重、切词分词和停用词过滤】操作。原始数据会存在一些【空或重复的语句】,须过滤掉这些【无价值且影响效率】的语句。使用计算机自动地对中文文本进行词语切分的过程称为中文分词(C...原创 2018-09-12 13:58:53 · 22141 阅读 · 10 评论