- 博客(65)
- 收藏
- 关注
转载 代理抓包
APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取。现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视频就没法批量抓取了吗? 答案当然是 No!对于 App 来说应用内的通信过程和网页是类似的,都是向后台发送请求,获取数据。在浏览器中我们打开调试工具就可以看到具体的请求内容,在 App ...
2019-07-23 10:47:00
550
转载 爬虫之scrapy框架
一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。 Scrapy一个开源和协作的框架,其最初是为了...
2019-03-13 22:00:00
253
转载 爬虫之selenium模块
一 selenium模块 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作。 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页...
2019-03-13 21:57:00
268
转载 RabbitMQ
什么叫消息队列 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知...
2019-03-13 20:55:00
133
转载 数据库MongoDB
Mongodb是基于分布式文件存储的数据库,由C++语言编写.主旨在WEB应用提供可拓展的高性能数据存储解决方案. Mongodb是一个介于关系数据库和非关系型数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的.它支持的数据结构非常的松散,是类似于json的bson格式,由此存储比较复杂的数据类型. Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象...
2019-03-06 11:55:00
105
转载 爬虫数据解析的三种方式
一.正则表达式解析 常用正则表达式回顾: 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字、字母、下划线、中文 \W : 非\w ...
2019-03-04 19:52:00
1002
转载 爬虫简介以及request模块
1、爬虫简介与request模块 一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段。网络爬虫,即Web Spider,是一个很形象的名字。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去...
2019-03-01 17:51:00
312
转载 bootstarp-treeview图形树
简要教程 bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件。该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树、列表树等等。 插件依赖 Bootstrap v3.0.3 jQuery v2.0.3 以上两个外部依赖文件已经经过测试可以正常使用...
2019-01-24 15:27:00
168
转载 django组件之分页器
在一般情况下,我们的展示的一个页面,都会有分页这个逻辑,我们通过分页的形式,让页面实现跳转,每一个人新的页面都是一个新的请求,每次拿到的都是一个刷新后的页面 如果要实现分页功能的话,可以通过两种方式去实现,一个是django自带了一个分页的模块. from django.core.paginator import Paginator # book_list=Book....
2019-01-17 20:32:00
103
转载 Django-admin工具
Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'djang...
2019-01-14 20:52:00
104
转载 django的用户认证组件
映入auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,主要用到的有三个: 1.1、authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要username,password两个关键字进行传参数 如果有效的话,会返回一个User对象,authenticate(...
2019-01-11 20:07:00
101
转载 django之forms组件
forms组件: 检验字段功能 模型类models.py class UserInfo(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) email=models.EmailField() tel=models...
2019-01-11 17:54:00
126
转载 Django组件之中间件
中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变Django的输入以及输出.并且她改变的变量是全局的,所有需要谨慎使用,容易导致性能问题. 如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。 可能你还想...
2019-01-10 20:07:00
106
转载 装饰器和单例模式
一、装饰器 装饰器本质就是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象。装饰器的应用场景:插入日志,性能测试,事务处理,缓存等场景 二、装饰器的形成过程 现在有个需求,想让你测试这个函数的执行时间,在不改变这个函数的情况下。 1,简单版装饰器 import time def fu...
2019-01-09 21:49:00
114
转载 Django 模型层表格的查找
表格的创建 方式1: publish_obj=Publish.objects.get(nid=1) book_obj=Book.objects.create(title="谁偷了我的奶酪",publishDate="2012-12-12",price=100,publish=publish_obj) 方式2: book_obj=Book.objec...
2019-01-07 20:22:00
178
转载 Django模型层
MVC和MTV中,最重要的一个部分就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置可以轻松更换数据库,这个极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致变更而导致的无效劳动. 创建一个表格: class Book(models.Model): id=models.AutoField(primary_key...
2019-01-05 17:13:00
81
转载 Django 的路由控制,视图以及模板
URL配置就是Django所支撑网站的页面,它的本质就是URL与该URL调用的视图函数之间的映射表; 我们一般用两种方式进行路由匹配,from Django.urls import path,re_path path对应的是相应的路径,也可以利用re_path的方式,它可以利用正则的方式进行匹配 注意: 如果要从URL里面捕获一个值,只需要在它两边放一个圆括号...
2019-01-05 15:59:00
160
转载 Django 简介
MVC和MTV模型 在web文件开发过程中有一个非常著名的MVC模式,所谓的MVC模式就是把web应用层分为模型(M),视图(V),控制器(C)三种,它们之间用插件式,松耦合的方式解耦在一起. 模型层负责业务对象以及数据库映射(ORM),视图层负责用户之间的交互(HTML页面),控制器接收用户输入调用模型和视图完成用户请求. Gjango中运用的是MTV的模型本质和MVC是...
2019-01-05 14:47:00
94
转载 Bom对象以及Dom对象
首先要了解什么是Bom对象,什么是Dom对象? Bom对象从大局上面来看的话它就是一个window对象,所有的浏览器都支持window对象,那什么是window对象呢? 从概念上来说一个html文件也可以说对应一个window对象, 从功能来说:控制浏览器窗口的 从使用上讲:window对象不用创建方法可以直接使用 window方法 alert() ...
2019-01-02 17:25:00
677
转载 前端三剑客之javascript
javascript介绍 javascript主要是为了实现在前端页面显示的一些动态效果.它也是一门非常强大的语言,不仅可以写前端页面,也可以编写后端.可以说非常的 强大,语言的兼容性非常的好,不会轻易的报错. 一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM) Document object mo...
2019-01-02 16:36:00
217
转载 Bottstrap的基本用法
引入BootCDN提供的免费 CDN 加速服务(同时支持 http 和 https 协议) <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"...
2018-12-27 18:58:00
265
转载 前端CSS
CSS介绍 CSS(CascadingStyleSheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 CSS语法 css三种引入方式: 1.行内样式(<p style.color='red'>hello w...
2018-12-24 22:12:00
88
转载 HTML
HTML的介绍 web服务的本质: 浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面 HTML是什么? 超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。 本质上是浏览...
2018-12-18 21:06:00
112
转载 mysql参数说明
Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --all-databases,-A 导出全部数据库。 mysqldump-uroot-p--all-databases --all-tablespaces,-Y 导出全部表空间。 mysqldump-uroot-p--all-databases--al...
2018-12-12 21:35:00
123
转载 mysql索引
索引是什么? 索引在mysql中也叫做'键'或者'key'(primary key ,unique key , index ket),是储存引擎用于快速找到记录 的一种数据结构,索引对于良好的性能非常的关键,尤其是当表中的数据量越来越大时,索引对于性能的 影响愈发重要,减少io次数,加速查询.(其中primary key 和 unique key,除了有加速查询的效果之外,还有 ...
2018-12-12 16:46:00
71
转载 mysql储存过程
一 介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql。到目前为止,我们上面学的视图、触发器、事务等为我们简化了应用程序级别写sql语句的复杂程度,让我们在应用程序里面写sql更简单方便了,但是我们在应用程序上还是需要自己写sql的,而我们下面要学的存储过程,它是想让我们的应用程序不需要再写sql语句了,所有的s...
2018-12-11 21:06:00
77
转载 mysql数据库操作
数据库>>>>库的操作 1 create database +库名 创建一个库 2 use database + 库名 进入这个库进行操作 3 show databases; 查看当前所有创建的库 4 drop database 库名;删除库,然后可以跑路 5 select database(); 查看当前在那个库下面 6 alter ...
2018-12-07 21:41:00
76
转载 初识数据库
数据库,以往我们写逻辑代码,操作的都是txt,json文件等,这种文件的效率不高,非常浪费性能.而且极有可能会导致数据不安全. 如果处理大规模的数据的话,更是麻烦,所以我们就需要进修新的一个知识点:数据库. 数据库大致可以分成2种:关系性数据库,非关系型数据库. 关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式,不是excel,但是和excel的形式很像) ...
2018-12-05 21:23:00
113
转载 python协程
携程在手,说走就走 携程很nb,python的协程也很牛逼 计算机执行单位官方是定义为两类:进程以及线程,一个内存空间可以开辟多条进程,一个进程可以开辟多条线程. 伟大的程序员在其基础上又把单线程定义一个协程单位.协程的主要用处是在线程遇见IO的时候,自动切换线程,充分的运用计算机的CPU. 协程的本质:在单线程下,由用户控制一个任务遇到io阻塞了就切换另一个任务去执行,以...
2018-12-04 17:47:00
73
转载 文件操作
一、取得当前目录 s = os.getcwd() #s保存的是当前的执行目录 [注意] 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得 二、更改当前目录 os.chdir(''\root\1...
2018-12-03 20:23:00
77
转载 gil锁 线程队列 线程池
python是一门编译形的,弱类型语言 它的代码是由编译器一行行的翻译成计算机可以读懂的代码的.而且因为历史遗留问题.当时设计的时候, 电脑都是单核的,python在执行中多线程中,只会利用到一个核心.并且一直没有合适的解决方案.所以导致它的运行效率相对比较慢. py文件被加载执行的顺序:首先是py文件会保存到磁盘中>>>开辟一个内存空间去执行py文件>...
2018-12-03 16:33:00
66
转载 并发编程
1 # from multiprocessing import Process,Pipe 2 # def func(conn1,conn2): 3 # msg = conn2.recv() 4 # msg2 = conn1.recv() 5 # print(msg) 6 # print(msg2) 7 # 8 # if...
2018-11-29 16:37:00
68
转载 网络编程传输文件
简易版服务器server import socket,struct,json sk = socket.socket() buffer = 1024 #每次接收数据的大小 sk.bind(('127.0.0.1',8090)) sk.listen() conn,addr = sk.accept() #接收 head_len = conn.recv(4) head_...
2018-11-28 15:38:00
515
转载 粘包现象
udp协议是不存在粘包现象的,因为它文件的传输方式就是面向包的 tcp协议是有可能出现粘包现象的,它存在粘包的情况有两种: a.连续发送小包,如果出现网络延迟现象的话,两次发送的消息会一次性被接收 b.如果一次性发送的 ,文件过大,一般来说文件一次性传输大小为1500左右,我们定义接收的大小为1024.文件过大的话就会进行切割 在缓冲区等待发送,有可能会和下一个文件一起被接收. ...
2018-11-27 17:34:00
64
转载 UDP协议下的socket
server端 import socket from socket import SOL_SOCKET,SO_REUSEADDR sk = socket.socket() # sk.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) sk.bind(('127.0.0.1',8090)) sk.listen() conn,addr = sk.acc...
2018-11-27 15:56:00
88
转载 网络通信的流程
网络通信首先是硬件上面的需求: 首先必须拥有网卡以及mac地址:网卡就是网络与电脑连接口进行识别的地方,在网卡处识别网线传输过来的电信号,以强弱电代表的01进制的代码,然后通过网卡进行解析,转换成电脑能够识别的二进制代码.mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号) 而网络通信的流程...
2018-11-27 15:48:00
166
转载 tcp简易网络编程
TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。 一个程序通过网络被其他设备进行调用可以利用socket模块 固定写法: 服务端 importsocket server = socket.socket() ...
2018-11-22 19:24:00
121
转载 re模块
re模块是python提供的一套关于处理正则表达式的模块. 核心功能有四个: 1. findall 查找所有. 返回list 举例:findall 查找所有. 返回list lst = re.findall("m", "mai le fo len, mai ni mei!") print(lst) # ['m', 'm', 'm']lst = re.findall(r"\d+"...
2018-11-16 22:06:00
77
转载 正则表达式
正则表达式是对字符串操作的一种逻辑公式. 我们一般使用正则表达式对字符串进行匹配和过滤. 使用正则的优缺点: 优点:灵活,功能性强,逻辑性强 缺点:上手难,记忆性的东西比较多 http://tool.chinaz.com/regex/ 正则表达式进行在线测试 元字符: 元字符是正则表达式的灵魂. 字符组:用[]进行括起来,[a-z]表示a-z所有的小写字母,[0-9]表示0...
2018-11-16 19:32:00
69
转载 json模块 重点
json是我们前后端交互的枢纽.json全称javascript object notation,翻译过来是js对象简谱 import jsondic = {"a": "女王", "b": "萝莉", "c": "小清新"}s = json.dumps(dic, ensure_ascii=False) # 把字典转化成json字符串print(s) # {"a": "女王", "b"...
2018-11-15 21:32:00
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人