python爬虫实现multipart/form-data;表单提交 fields 参数 接收值: [(key,value),(k,v)] 此参数接收普通键值对数据,将键值对转换为multipart/form-data格式files 接收值: [(key,filename,value) 此参数接收文件上传数据,将其对转换为multipart/form-data格式 def encode_multipart_formdata(f...
使用tornado实现简单爬虫 代码在官方文档的示例代码中有,但是作为一个tornado新手来说阅读起来还是有点困难的,于是我在代码中添加了注释,方便理解,代码如下:# coding=utf-8 #!/usr/bin/env pythonimport timefrom datetime import timedeltatry: from HTMLParser import HTMLParser f...
linux下搭建flask开发环境 安装虚拟环境$ sudo pip install virtualenv$ sudo pip install virtualenvwrapper创建虚拟环境(须在联网状态下)$ mkvirtualenv Flask_py安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:1、创建目录用来存放虚拟环境mkdir $HOME/.vir...
linux下搭建python虚拟环境 什么是虚拟环境呢?这里给大家举一个简单的例子,桌面上有一个word文件,我们打开修改这个文件,修改了一会之后发现还是原来的文件比较好,这个时候我想找回原来的文件就比较困难了。那么怎么办呢?就有这样一种解决方案,在修改文件之前,先复制一份,然后在副本文件里进行修改,这样即使发现修改有错,也不会影响原始文件。创建 首先安装虚拟环境,命令如下:sudo pip3 install vir
python生成网页验证码 验证码为 pil模块生成,可直接应用于django框架当中。首先需要安装 Pillow模块 我们这里使用的版本为3.4.1 终端中直接输入指令 pip install Pillow==3.4.1from PIL import Image, ImageDraw, ImageFontfrom django.utils.six import BytesIOdef verify_code(
常用正则表达式 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]>.?|< .*? /> 评注
HTML,CSS,JS实现网页聊天窗口 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-
常用css reset <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
python logging日志模块的应用 import logging# 创建日志对象log = logging.getLogger()# 设置总日志等级log.setLevel(logging.DEBUG)a = "./log.txt"# 创建文件件处理器日志对象file_handler = logging.FileHandler(a, mode="a")# 设置子日志等级file_handler.setLevel(log
python装饰器原理 装饰器作用 装饰器在实际开发中应用广发,如: 1.引入日志 2.函数执行时间统计 3.执行函数前预备处理 4.执行函数后清理功能 5.权限校验等场景 6.缓存装饰器可以实现在不修改之前已经写好并且封装好的代码的前提下对之前的代码进行功能上的拓展!在实际开发中应用十分广泛,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多初次接触这个知识的人来讲,这个功能
mysql数据表的约束及操作 mysql数据类型常用约束类型: primary key 主键约束(必须为有序,但不保证连续,不能重复) not null 非空 (不能为空) unique 唯一(不能为重复) default 默认(设置默认值) foreign key 外键(对关系字段进行约束,当为关系字段填写值时,会在关联的表中查询是否存在,不存在则抛出异常)创建数据表 create table 表名(列名 数据类型
mysql入门操作(开启创建及删除库) 启动mysql服务 sudo service mysql start关闭mysql服务 sudo service mysql stop重启mysql服务 sudo service mysql restart运行mysql mysql -u用户名 -p [-h 服务器地址[-P端口号];查看所有库 show databases;创建库 create database 库名 charse
MySQL主从同步配置 1. 备份主服务器的数据mysqldump -uroot -p --all-databases --lock-all-tables > ~/Desktop/master_db.sql2. 将mater_db.sql文件复制到从机 在从机上完成数据的恢复操作scp /home/python/Desktop/master_db.sql python@192.168.113.155:/home/py
python epoll简单模型(协程的实现方式) EPOLLIN (可读) EPOLLOUT (可写) EPOLLET (ET模式) epoll对文件描述符的操作有两种模式:LT(level trigger)和ET(edge trigger)。LT模式是默认模式, LT模式与ET模式的区别如下: LT模式:当epoll检测到描述符事件发⽣并将此事件通知应⽤程序,应⽤程序可以不⽴即处理该事件。下次调⽤e poll时,会再次响应应⽤程序并通
linux终端常用指令大全 ls—->查看当前文件夹下的内容 -l列表显示 -h人性化显示 -a 显示隐藏文件 pwd—->查看当前路径 touch—->创建文件(如果创建的文件已存在会更改文件的创建日期,不修改内容) cd—->跳转路径 mkdir—->创建目录 -p 递归创建 rm—->删除文件 -r 删除目录 -f 强制删除,文件不存在不提示 clear—->清屏 history—->查看历史命令 !加序
python的冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。python中实现冒泡排序相比较其他语言来讲要简单的多,因为他可以使用快速的拆包组包来实
简易爬虫爬取51job招聘信息 目标: http://www.51job.com/上的python相关招聘信息——>入门级别import reimport urllib.requestclass Grab(object): # 定义类属性 num = 0 def __init__(self): # 请求的网址 self.url = "http://search.51job
python利用面向对象,协程开发web后端服务器 web后端入门级别! 开发语言: python3 模块: gevent os re socket编辑器: 博主用的 vim简介: 我们这里是利用了python最基础的知识来实现得网站后端,所以比较容易理解,代码里的”static”是博主本地的文件夹,文件夹内存放了一些html文件和图片,都可以通过ip+文件名来进行访问.# 导入gevent的monkey模块,破解具有阻塞
利用python3模拟访问网站 功能: 利用python代码来获取我们访问百度后百度返回给我们的信息,将返回的内容写入到文件中. 需求: 使用socket模块代码如下:import socketdef main(): # 创建套接字 tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 连接baidu tcp_socke
python3 利用tcp实现文件夹的远程传输 实现功能: 通过tcp协议模拟文件夹的下载,注意是文件夹,不是文件.下面让我们实现以下: 其中有部分功能还未实现有兴趣的可以将代码自行补全 服务器端代码:import osimport socketimport time# 定义全局列表用来存储子文件夹list1 = []def deal_file(files,dir_name,dir_socket): # 如果打开文件时报错