-
网络爬虫_2
网络爬虫2正则 re.match():从头开始匹配 re.search():不从头开始匹配 re.spilt():切割,返回列表参数maxsplit指定最大的切割数,默认全部 re.findall():以列表形式返回能匹配的全部字符串 re.finditer():功能与上相同,但返回的是一个迭代器BeautifulSoup 可以从HTML或XML文件中提取数据的Python库 安装: apt-get install Python-bs4# 或pip ...…
-
网络爬虫_1
网络爬虫1 网络爬虫 就是模拟客户端发送网络请求,接受请求响应,一种按照一定的规则,自动地抓取互联网信息的程序 请求有两种:一般表单提交 和 超大文本 的是POST 请求,其余的则为 GET 请求 响应状态码: 100+:服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程 200+:请求成功 300+:重定向 400+:客户端请求有错误 500+:服务器出错 发送请求 使用的是reque...…
-
Git的使用
Git 的使用 两大特点: 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题 分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。 安装sudo apt-get install...…
-
Django之模型
补充上一篇 在 Django 中使用 MySQL 数据库,除了上篇里面的设置外,还要进行导入,在__init__文件下添加下面两句 import pymysqlpymysql.install_as_MySQLdb() 当然,前提是你的这个环境安装了pymysql 这个包 模型 django 会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后 django 不会再创建自动增长的主键列。 属...…
-
Django框架的基本使用
Django框架基本使用Django框架简单介绍 框架 一个框架就好比一个公司,每一个部门都有特定的职能,部门与部门相互配合才能让公司运转起来,而框架则是模块与模块相互配合来完成工作的 Django框架 它遵循的是 MVT 的思想 M: Model,模型,和数据库进行交互。 V: View,视图,接收请求,进行处理,与M和T进行交互,返回应答。 T: Template,模板,产生 html 页面。 ...…
-
闭包、装饰器
闭包、装饰器闭包 通俗来讲,闭包就相当于函数的嵌套 ,在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 # ======================程序====================def test(number): def test_in(number_in): print("in test_in 函数, number_in is %d" % number_in) ret...…
-
MySQL高级
MySQL高级视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图是对若干张基本表的引用,一张虚拟的表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性; 定义视图 create view 视图名称 as select语句; # 名称建议以 v_ 开头 使用视图 时,因...…
-
Python中使用MySQL
Python中使用MySQLPython 中操作 MySQL步骤导入模块 需要用到 pymysql 模块 from pymysql import * 创建 Connection 对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn = connect(参数列表) 参数host:连接的mysql主机,如果本机是’localhost’参数port:连接的mysql主机的端口,默认是3306...…
-
MySQL数据库-查询
MySQL数据库-查询数据的准备 下面的测试都这这个基础上-- 创建数据库create database python_test_1 charset=utf8;-- 使用数据库use python_test_1;-- students表create table students( id int unsigned primary key auto_increment not null, name varchar(20) default '', age tinyint un...…
-
MySQL数据库
MySQL数据库数据库简介 数据库说到底就是一个文件,就像一个Excel文件 列 =====> 字段,能够 唯一 标记某个字段:这就是 主键 行 =====> 记录 RDBMS 相当于一个程序,用来管理数据库的 当前主要使用的两种类型的数据库:关系型数据库、非关系型数据库 关系型数据库: mysql:一般用作于网站 redis:一般用作与缓存 ...…
-
python提高
python提高GIL(全局解释器锁) 首先,Python 和 GIL 没有半毛钱关系,仅仅只是Cpython(解释器)中难以移除GIL。 GIL 只对线程有影响,每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码,所以一个程序是多线程,一定是假的多任务。 Python使用多进程是可以利用多核的CPU资源的 计算密集型:进程(因为不需要等待,线程的话效率不高) io密集型:线程、协程(有等待,在等待时可做其它事) 解决GIL的问题 ①是可以换一个解释...…
-
Web服务器
Web服务器HTTPHTTP协议 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP HTML是一种用来定义网页的文本,会HTML,就可以编写网页 HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信HTTP请求 这就是浏览器发送给服务器的数据,而这些数据的格式,就是 HTTP协议说明: GET / HTTP/1.1 GET表示一个读取请求, / 表示URL的路径,URL总是以 ...…
-
正则表达式
正则表达式 可以判断用户数据是否符合自己的要求 清洗从网站上爬下来的数据re模块 在 Python 中使用正则表达式时,需要用到 re 模块,使用如下:# 导入re模块 import re # 使用match方法进行匹配操作 result = re.match(正则表达式,要匹配的字符串) # 如果上一步匹配到数据的话,可以使用group方法来提取数据 result.group()匹配单个字符 字符 功能 ...…
-
多任务之协程
多任务之协程迭代器 迭代:是访问集合元素的一种方式,用 for....in...从 list、tuple、str等类型中依次取数据,这种遍历也称之为迭代 迭代对象:可以通过 for....in...这类语句迭代读取数据的对象 迭代器:是一个可以记住遍历的位置的对象。实现一个可迭代对象from collections import Iterableimport timeclass Classmate(object): def __init__(self): self...…
-
多任务之进程
多任务之进程 一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元,也可以实现多任务。进程与线程 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源 一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小...…
-
多任务之线程
多任务之线程 多任务,顾名思义就是多个任务同时进行,多任务又有并行和并发 ,并行是真正的多任务(即一个CPU执行一个任务),但现在电脑大部分是4核,并没有那么多的CPU去执行任务,这时就用到了并发(时间片轮转,任务轮流让CPU执行),由于切换速度很快,我们就会感觉多个任务在同时执行。线程 threading 模块的使用import threadingdef test1(): pass def test2(): passdef main(): t1 = threadi...…
-
TCP-模拟文件下载
TCP 之文件下载客户端(client)import socketdef main(): # 1.创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.获取服务器的 IP、port dest_ip = input("请输入下载服务的IP:") dest_port = int(input("请输入下载服务器的port:")) # 3.链接服务器 tcp...…
-
TCP
TCP TCP是一种面向连接,这种连接是一对一的,不适用于广播的应用程序(用udp) 与UDP相比,TCP更加稳定可靠TCP客户端(client) 所谓客户端,就相当于被服务的一方TCP客户端构建 与构建UDP流程类似1、创建TCP的 sockettcp_client_socket = socket(AF_INET, SOCK_STREAM) # 当然,前提是先导入socket模块2、目的信息server_ip = input("请输入服务器ip:")server_port = ...…
-
socket之udp聊天器
socket之udp聊天器 socket是进程间通信的一种方式,它可以实现不同的主机间进程的通信,总之,网络通信之必备创建socketimport socketudp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 注:socket内参数,第一项为固定参数,第二项是选择创建udp socket还是tcp socket使用socket1.发送数据 发送数据要调用方法 sendtoudp_socket.sendto(b"...…
-
校园短号号码的接收与显示电路的软硬件设计
校园短号号码的接收与显示电路的软硬件设计 这次的实验是我的课程设计 课题的内容:话机通过解码电路把按键值输入到单片机中,在通过单片机显示在数码管上,要求话机按下时,数码管显示该数值,按下一次时,数码管之前的数值向前移,同时显示当前的按键值,相当于模拟拨号过程,本次实验,模拟6位号码即可硬件电路部分解码电路解码电路就是把话机按下按键的号码以二进制的形式传给单片机 MT8870芯片 输入与解码表 解码电路原理图 原理图中红点的地方焊接时要放置排针,以便检测和连线接电。 芯片的15...…