- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 请求头和响应头
请求报头1. Host (主机和端口号)Host:对应网址URL中的Web名称和端口号,用于指定被请求资源的Internet主机和端口号,通常属于URL的一部分。2. Connection (链接类型)Connection:表示客户端与服务连接类型\1. Client 发起一个包含 Connection:keep-alive 的请求,HTTP/1.1使用 keep-alive 为默认值。\2. Server收到请求后:o 如果 Server 支持 keep-alive,回复一个包含 Co
2020-07-24 18:32:15
1090
原创 实战:百度贴吧图片爬虫(Urllib+xpath)
实战:百度贴吧图片爬虫(Urllib+xpath)#百度贴吧图片爬虫import urllibimport urllib.requestfrom lxml import etree# 全局取消证书验证import sslssl._create_default_https_context = ssl._create_unverified_contextclass Spider(object): def __init__(self): self.beginPage=1
2020-07-24 18:29:37
353
原创 实战:爬取糗事百科(多线程)
实战:爬取糗事百科(多线程)#多线程爬取糗事百科# 使用了线程库import threading# 队列import queueimport requestsimport timefrom lxml import etree# https://www.qiushibaike.com/8hr/page/1/# https://www.qiushibaike.com/8hr/page/2/# https://www.qiushibaike.com/8hr/page/3/#'//div
2020-07-24 18:28:57
260
原创 实战:爬取音乐网站(Requests)
实战:爬取音乐网站(Requests)import re # python 的正则库import requests # python 的requests库import time# page=int(input("请输入您要爬取的页数:"))songID=[]songName=[]page_size = int(input("请问要爬取第几页呢:"))for i in range(0,page_size): url="http://www.htqyy.com/top/m
2020-07-24 18:28:22
1218
原创 实战:贴吧爬虫(Urllib)
实战:贴吧爬虫# 实战:贴吧爬虫from urllib import requestimport urllibimport reimport random#反爬虫1 : 伪装浏览器的爬虫#构造请求头信息agent1="Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0
2020-07-24 18:27:47
437
原创 十、数据写入
#写入到Excelimport xlsxwriter#创建文件,并添加一个工作表workbook=xlsxwriter.Workbook('demo.xlsx')worksheet=workbook.add_worksheet()#在指定位置写入数据worksheet.write("A1","这是A1的数据")worksheet.write("A2","这是A2的数据")#关闭表格文件workbook.close()#爬取便民查询网常用号码,并写入到Excelimport re
2020-07-24 18:27:15
258
原创 九、fiddler手机抓包
fiddler官网:https://www.telerik.com/fiddler通过Fiddler抓包工具,可以抓取手机的网络通信,但前提是手机和电脑处于同一局域网内(WI-FI或热点),然后进行以下设置:用Fiddler对Android应用进行抓包打开Fiddler设置在Connections里设置允许连接远程计算机,确认后重新启动Fiddler在命令提示符下输入ipconfig查看本机IP打开Android设备的“设置”->“WLAN”,找到你要连接的网络.
2020-07-24 18:26:45
123
原创 八、scrapy框架
创建项目scrapy startproject 项目名创建爬虫scrapy genspider 爬虫识别名称 ‘要爬取的主机地址’运行爬虫scrapy crawl 爬虫识别名称1.Scrapy框架的安装pip3 install scrapy2.Scrapy框架的简单使用常用命令创建项目:scrapy startproject xxx进入项目:cd xxx #进入某个文件夹下创建爬虫:scrapy genspider xxx(爬虫名) xxx..
2020-07-24 18:22:05
129
原创 七、验证码识别
#识别车牌号from aip import AipOcrimport reAPP_ID = '15469265'API_KEY = 'rAGFtOChXtO7mnRPiwXg1Frf'SECRET_KEY = 'Ailvoijh4X7lQIAoZ58UsGPlaDCmLIt7'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)""" 读取图片 """def get_file_content(filePath): with open(fil
2020-07-24 18:21:17
144
原创 六、多线程
import threadingimport timedef run(name): print(name,"线程执行了!") time.sleep(5)#创建2个线程对象t1=threading.Thread(target=run,args=("t1",))t2=threading.Thread(target=run,args=("t2",))#启动线程t1.start()t2.start()#等待子线程执行完毕后再执行主线程后面的内容t1.join()t2.
2020-07-24 18:20:45
91
原创 五、BeautifulSoup
#BeautifulSoup模块简介和安装from bs4 import BeautifulSoup#CSS 选择器:BeautifulSoup4#和lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器#主要的功能也是如何解析和提取 HTML/XML 数据。#模块下载安装:pip install bs4#基础例子html = """<html><head><title>The Dormouse's story</t
2020-07-24 18:20:15
74
原创 四、xpath表达式
#xpath表达式#有同学说,我正则用的不好,处理HTML文档很累,有没有其他的方法?#有!那就是XPath,我们可以先将 HTML文件 转换成 XML文档,#然后用 XPath 查找 HTML 节点或元素。#我们需要安装lxml模块来支持xpath的操作。#使用 pip 安装:pip install lxml#解析字符串形式htmltext ='''<div> <ul> <li class="item-0"><a
2020-07-24 18:19:39
130
原创 三、正则表达式
import re#原子:正则表达式中实现匹配的基本单位#元字符:正则表达式中具有特殊含义的字符#以普通字符作为原子(匹配一个普通字符)a="湖南湖北广东广西"pat="湖北"result=re.search(pat,a)print(result)#匹配通用字符#\w 任意字母/数字/下划线 #\W 和小写w相反 #\d 十进制数字#\D 除了十进制数以外的值#\s 空白字符 #\S 非空白字符 b="136892763900"pat2="1\d\d\d\d\d\d
2020-07-24 18:19:07
236
原创 二、Requests
import requestsheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap\pleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Sa\fari/537.36"}wd={"wd":"中国"}response=requests.get("http://www.baidu.com/s?",params=wd,headers=headers
2020-07-24 18:18:31
487
原创 一、Urllib
一、urllib#伪装浏览器的爬虫from urllib import requestimport reimport random# 全局取消证书验证import sslssl._create_default_https_context = ssl._create_unverified_contexturl=r"http://www.baidu.com/"#构造请求头信息agent1="Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-
2020-07-24 18:16:21
188
原创 递归(Recursion)
递归的概念简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归调用机制回顾一下递归调用机制打印问题阶乘问题使用图解方式说明了递归的调用机制递归调用规则:当程序执行到一个方法时,就会开辟一个独立的空间(栈)每个空间的数据(局部变量),是独立的代码演示:package com.atguigu.r...
2020-03-06 21:10:18
138
原创 栈
栈栈的一个实际需求请输入一个表达式计算式:[722-5+1-5+3-3] 点击计算【如下图】请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就是一个字符串),我们讨论的是这个问题。-> 栈栈的介绍栈的英文为**(stack)**栈是一个先入后出**...
2020-02-28 22:20:48
145
原创 链表(Linked List)
链表(Linked List)链表(Linked List)介绍链表是有序的列表,但是它在内存中是存储如下小结上图:链表是以节点的方式来存储,是链式存储每个节点包含 data 域, next 域:指向下一个节点.如图:发现链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 单链表(带头结点) 逻辑结构示意图如下单...
2020-02-23 23:31:41
266
原创 队列(queue)
队列队列的一个使用场景银行排队的案例:队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图:(使用数组模拟队列示意图)数组模拟队列思路队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队 列的最大容量。因为队列的输出、输入是分别从前后端来...
2020-02-22 20:59:11
428
原创 稀疏数组(sparsearray)
稀疏数组(sparsearray)先看一个实际的需求编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及...
2020-02-22 20:57:42
113
原创 线性和非线性结构
数据结构和算法概述数据结构和算法的重要性算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算一般来讲程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序,再深入的思考一下,这些计算框架和缓存技术, 它的核心功能是哪个部分呢?拿实际工作经历来说, 在 Unix 下开发服务器程序,功能是要支持上千万人同时在线, 在上线前,做内测,一切 ...
2020-02-22 20:54:23
187
原创 MySQL事务
MySQL事务事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理只支持InnoDB和BDB数据表类型事务的ACID原则原子性(Atomic)整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(ROLLBACK)到事务开始前的状态,就像这个事务从来...
2020-02-21 22:54:13
115
原创 MySQL的函数
官方文档:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html常用函数分类: 数学函数 , 字符串函数 , 日期和时间函数 , 系统信息函数# 常用数学函数SELECT ABS(-8); /*绝对值*/SELECT CEILING(9.4); /*向上取整*/SELECT FLOOR(9.4); /...
2020-02-21 22:53:40
179
1
原创 MySQL备份、视图、触发器
MySQL备份数据库备份必要性保证重要数据不丢失数据转移MySQL数据库备份方法mysqldump备份工具数据库管理工具,如SQLyog直接拷贝数据库文件和相关配置文件mysqldump客户端作用 :转储数据库搜集数据库进行备份将数据转移到另一个SQL服务器,不一定是MySQL服务器语法 :-- 导出1. 导出一张表 mysqldump -u...
2020-02-21 22:52:57
350
原创 MD5加密
MD5:一种哈希算法实质上,MD5 只是一种哈希算法。哈希算法,即 hash,又叫散列算法,是一类把任意数据转换为定长(或限制长度)数据的算法统称。例如我叫张三,你叫李四,那么「人 -> 人名」的算法就叫属于一种哈希算法。哈希算法通常用于制作数字指纹,数字指纹的意思就是「你看到这个东西就像看到原数据一样」,例如我们在一些网站下载大文件的时候,网站提供给我们验证文件完整性的 MD5 或者 ...
2020-02-21 22:52:26
133
原创 JDBC
1、JDBC1.1、数据库驱动类似于声卡驱动、显卡驱动,数据库也需要驱动!MySQL驱动 、 Oracle驱动…我们的程序会通过数据库驱动和数据库打交道!1.2、JDBCSUN为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称JDBC!对于开发人员来说,我们只需要掌握JDBC即可操纵数据库!需要导入jar包 mysql-connector-ja...
2020-02-21 22:51:53
127
原创 用户和权限管理
用户和权限管理/* 用户和权限管理 */ ------------------用户信息表:mysql.user-- 刷新权限FLUSH PRIVILEGES-- 增加用户CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串) - 必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。 - 只能创建...
2020-02-21 22:51:22
172
原创 数据库索引
数据库索引作用 :提高查询速度确保数据的唯一性可以加速表和表之间的连接 , 实现表与表之间的参照完整性使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间全文检索字段进行搜索优化.分类 :主键索引 (Primary Key)唯一索引 (Unique)常规索引 (Index)全文索引 (FullText)主键索引主键 : 某一个属性组能唯一标识一条记录...
2020-02-21 22:50:49
212
原创 数据库设计规范
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。一、数据库设计的原则\1. 表设计原则(1)规范化与反规范化规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度。但是一个完全规范化的设计并不总能生...
2020-02-21 22:49:59
329
原创 三大范式
规范化数据库设计为什么需要设计数据库 ?答:当数据库比较复杂时我们需要设计数据库糟糕的数据库设计 :数据冗余,存储空间浪费数据更新和插入的异常程序性能差良好的数据库设计 :节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发软件项目开发周期中数据库设计 :需求分析阶段: 分析客户的业务和数据处理需求概要设计阶段:设计数据库的E-R模型图 , 确认需...
2020-02-21 22:49:28
218
原创 MySQL的DQL
DQL( Data Query Language 数据查询语言 )是SQL语言之一。基本语法:/*SELECT [ALL | DISTINCT]{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}FROM table_name [as table_alias] [left | righ...
2020-02-21 00:34:25
94
原创 变量与运算符
变量与运算符1、关键字与保留字关键字(keyword)关键字(keyword)的定义和特点定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html用于定义数据类型的关键字c...
2020-02-19 22:34:50
153
原创 MySQL数据管理
1、外键管理外键概念:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)...
2020-02-19 21:04:32
276
原创 MySQL快速上手
MySQL快速上手1、MySQL1.1、为什么学数据库岗位需求现在的世界,大数据时代~ 得数据者得天下!被迫需求,存数据!数据库是所有软件体系中最核心的存在!1.2、什么是数据库数据库(DB:DataBase)概念:数据仓库,软件,安装在操作系统(win,linux,mac)之上!SQL,可以存储大量的数据!500万!作用:存数据,管理数据!1.3、数据库分类关系型数据...
2020-02-18 22:02:41
243
原创 Java语言概述
第一章、Java语言概述Java知识图解Java基础课程体系第1章 Java语言概述第2章 基本语法第3章 数组第4章 面向对象编程(上)第5章 面向对象编程(中)第6章 面向对象编程(下)第7章 异常处理第8章 枚举类&注解第9章 Java集合第10章 泛型第11章 IO流第12章 多线程第13章 Java常用类第14章 Java反射机制第15章 网络...
2020-02-17 22:18:45
927
原创 Spring5
Spring1、Spring1.1、简介Spring:给软件行业带来了春天!2002年,首次推出了spring框架的雏形:interface21框架Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。作者:Rod Johnson 音乐学的博士Spring理念:使现有的技术更加容易使用,本身是一个大杂烩...
2020-02-01 13:41:36
252
原创 Mybatis
环境:JDK1.8Mysql 5.7maven 3.6.1IDEA回顾:JDBCMysqljava基础MavenJunitSSM框架:配置文件的:最好的方式:看官网文档;1、简介1.1、什么是Mybatis[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvU8xQk7-1580226451145)(/Users/mac/Libra...
2020-01-28 23:47:49
169
原创 JavaWeb
JavaWebJava. web1. 基本概念1.1 前言web开发:web:网页的意思 www.baidu.com静态webhtml. Css提供给所有人看的数据始终不会发生变化!动态web淘宝等,几乎是所有的网站!提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/JSP,ASP,P...
2020-01-14 19:23:12
296890
1
原创 Markdown学习
Markdown学习一级标题:#+空格+内容标题:二级标题##+空格+内容三级标题###+空格+内容以此类推。。。字体粗体:内容两边加** :Hello World!斜体:内容两边加*: Hello World!斜体加粗:内容两边加星星星:Hello World!删除线:内容两边加~~ : Hello World!引用这是一条走向人生巅峰的引用 :一个大于号...
2019-12-13 16:26:29
96
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人