自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 常见浏览器获取本地cookie的方法

部分网站无法自动生成或者使用selenium获取cookie(某宝模拟登录会被检测出来,需要ua参数),这时可以尝试在网站中手动登录后,获取浏览器保留在本地中的cookie;Chromeimport osimport jsonimport base64import sqlite3from win32crypt import CryptUnprotectDatafrom cryptography.hazmat.primitives.ciphers.aead import AESGCM# 获

2021-06-21 20:13:01 3967

原创 pytest

pytest的安装pip install -U pytest验证方法:pytest --versionpytest框架约束条件所有的单元测试文件名都需要满足test_开头或者以_test结尾的格式;在单测文件中,测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的)在单测类中,可以包含一个或多个test_开头的函数。此时,在执行pytest命令时,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行。

2021-06-17 13:57:29 272 1

原创 Django

Django适用于那些场景内容管理系统博客CMSWiKi企业内部系统会议室预订招聘管理ERP & CRM报表系统运维管理系统CMDB发布管理作业管理脚本管理变更管理故障管理优点和缺点优点Python 实现,代码干净、整洁提供管理后台,能够快速开发复用度高,设计、使用上遵循DRY原则易于扩展复用的中间件内置的安全框架丰富的第三方库缺点单个应用-不易并行开发,单点扩展不适合非常小的几行代码的项目不适合于高并发的to

2020-12-01 11:43:57 330 1

原创 loguru的使用

正常使用的logging配置起来比较麻烦,而loguru可以将log的配置结合使用变得简单和方便;安装pip3 install loguru基本使用from loguru import loggerlogger.debug('this is a debug')输出结果:输出格式不要再进行配置,默认的格式为:时间 | 级别 | 模块:输出行号 - 日志信息,而且输出在控制台中的信息是有颜色区分,能更好的的分辨;同时,我们还可以将信息输出到其他地方,例如:from loguru impo

2020-11-24 16:52:44 6873 1

原创 Golang中的AES加密,解密

依赖库:"github.com/forgoer/openssl"使用方法密钥的长度可以是16/24/32个字符(对应数据块128/192/256)AEC-EBC:src := []byte("123456")key := []byte("1234567890123456")//加密dst , _ := openssl.AesECBEncrypt(src, key, openssl.PKCS7_PADDING)fmt.Printf(base64.StdEncoding.EncodeToStri

2020-07-22 15:51:57 1158

原创 python正则表达式

re.match函数尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。函数语法re.match(pattern,string,flags)pattern匹配的正则表达式。string要匹配的字符串。flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。例:import re str = "The following has nothing to do with the riddle itself."prin

2020-07-14 11:51:59 122

原创 maketrans()方法

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。两个字符串的长度必须相同,为一一对应的关系。intab = "abcde"outtab = "12345"trantab = str.maketrans(intab, outtab)str = "abcde"print (str.translate(trantab))结果为:12345一个参数,该参数必须为字典;d = {

2020-07-13 17:18:56 1785

原创 flask框架使用

python版本: 3.7.4工具:pycharm安装pip3 install Flask创建Flask项目使用 pycharm 创建一个flask项目,会生成如下目录:app.py:from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'if __name__ == '__main__': app.run()import

2020-07-06 20:27:02 128

原创 使用Golang写个简单的爬虫

第一次用go写爬虫,有点不习惯使用原生http库,直接使用net/http包内的函数请求package mainimport ( "fmt" "io/ioutil" "net/http")func main() { url := "https://www.okex.me/v2/futures/pc/public/eliteScale.do?symbol=f_usd_btc&type=0" resp,err := http.Get(url) if err != nil {

2020-06-23 18:06:43 247

原创 python AES加密解密(基于base64)

加密def add_to_16(value): while len(value) % 16 != 0: value += '\0' return str.encode(value) def aesEncrypt(content,Key): BS = 16 pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) content1 = pad(content) text = add_to_16(conte

2020-06-11 17:05:22 1448

原创 python抓取微信指数

环境:mac系统微信版本

2020-06-02 14:20:51 2482 5

原创 scrapy使用middleware+selenium自定义cookies中间件

对于一些网站需要实时获取cooikes才可以爬取可以使用selenium来进行实时获取网站的cookies在scrapy不仅可以在spider中直接使用selenium,还可以通过中间件来实现。首先编写middleware.pyfrom selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesclass cookiesMiddleware:

2020-05-28 14:36:59 1090

原创 scrapy 自定义参数-a NAME=VALUE 中的value输入多个值

在scrapy的自定义参数时,在命令正常使用-a NAME=VALUE 命令,而value正常只能传入一个值,但是value会有很多值,例如:name的值可能是百度,谷歌,CSDN等,如果要同时他们需要写多个命令来运行,如果要使它们用一个命令中运行可以使用下面这种方法:def __init__(self, symbol='', *args, **kwargs): super().__init__(*args, **kwargs) self.symbol = symbol.split(','

2020-05-26 11:15:57 523 1

原创 python抓取谷歌指数(Google Trends)

过去7天的数据链接:https://trends.google.com/trends/api/widgetdata/multiline?hl=zh-CN&tz=-480&req={“time”:“2020-05-11T03\:38\:59 2020-05-18T03\:38\:59”,“resolution”:“HOUR”,“locale”:“zh-CN”,“comparisonItem”:[{“geo”:{},“complexKeywordsRestriction”:{“keyword”:

2020-05-18 11:55:53 4585 2

原创 python常用方法

交换量的值a , b = 1 , 2print(a,b)a , b = b , aprint(a,b)输出结果:1 22 1将列表中的所有元素组合成字符串s = ['hello','world']print(" ".join(s))输出结果:hello world

2020-05-12 10:49:10 233

原创 scrapy使用自动义参数的方法

关于scrapy使用自定义参数主要是在命令上用crawl控制spider的同时加上 -a,从而做到自定义参数,例如:scrapy crawl spiderName -a symbol=symbol在spider中加入以下部分:import scrapyclass MySpider neme = 'name' def __init__(self, symbol='', *args, **kwargs): super().__init__(*args, **kwargs)

2020-05-09 14:50:41 306 1

原创 python部分加密解密方法

md5加密:import hashlibdef md5(str): str = str.encode('utf-8') m = hashlib.md5() # 创建一个md5算法对象 m.update(str) return m.hexdigest() # 获取这个文件的MD5值base64加密:import base64#加密str = str(sign...

2020-05-06 18:15:07 323

原创 python爬取百度指数

def baidu(): """百度指数""" curr_time = datetime.datetime.now() now_time = curr_time.replace(day=curr_time.day - 3).strftime("%Y-%m-%d") last_time = curr_time.replace(month=curr_time.month...

2020-04-29 18:04:06 5297

原创 /bin/sh: bad interpreter: Operation not permitted

在mac系统在执行./android-sdk-macosx/tools/android这句时候遇到了错误:-bash: ./android-sdk-macosx/tools/android: /bin/sh: bad interpreter: Operation not permitted折腾了一段时间后,发现是/android-sdk-macosx/tools/android这个文件的问题...

2020-04-21 15:05:22 3144

原创 scrapy+selenium爬取网页数据并存入mongodb数据库

(一)安装selenium:pip3 install selenium(二)下载chromedriver使用chrome浏览器做自动化,根据本身浏览器的版本下载相对应的chromedriver可以到http://chromedriver.storage.googleapis.com/index.html 下载对应的版本(三)新建爬虫进入scrapy项目目录,新建爬虫,在spider...

2020-04-11 18:36:49 2906

转载 scrapy框架的使用

安装scrapypip3 install scrapy创建项目(1)创建项目文件夹scrapy startproject projectname(2)进入projectname文件夹cd projectname(3)创建爬虫文件scrapy genspider fear_and_greed '网址'结构目录大概如下图:3. 编写scrapy爬虫项目(1)编写...

2020-03-30 18:11:45 132

原创 JavaScript 学习(二)

数据类型数据类型简介为什么需要数据类型在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利 用存储空间,于是定义了不同的数据类型。简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18,这些数据的类型是不一样的。变量的数据类型变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的 内...

2020-03-06 14:28:47 150

原创 JavaScript 学习(一)

编程语言可以通过类似于人类语言的 ”语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守。 如今通用的编程语言有两种形式:汇编语言和高级语言。汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容...

2020-03-05 11:17:36 169

原创 HTML和CSS提高

HTML5 的新特性HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9+ 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。声明:新特性增加了很多,但是我们专注于开发常用的新特性。基础班我们讲解部分新特性,到了就业班还会继续讲解其他新特性。HTML5 新增的语义化标签以前布局,...

2020-03-03 14:27:05 159 1

原创 CSS学习(七)

精灵图为什么需要精灵图一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送 请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度。因此,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了 CSS 精灵技术(也称 CSS Sprites、CSS 雪碧)。核心原理:将网页中的一些小背景图像整合到一张大图中 ,这样服务器只需要一...

2020-03-02 11:13:09 112

原创 CSS学习(六)

定位为什么需要定位?提问: 以下情况使用标准流或者浮动能实现吗?某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子。当我们滚动窗口的时候,盒子是固定屏幕某个位置的。以上效果,标准流或浮动都无法快速实现,此时需要定位来实现。所以:浮动可以让多个块级盒子一行没有缝隙排列显示, 经常用于横向排列盒子。定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以...

2020-02-29 10:55:41 637

原创 CSS学习(五)

案例准备素材和工具图片开发工具案例准备工作我们本次采取结构与样式相分离思想:创建 study 目录文件夹 (用于存放我们这个页面的相关内容)。用vscode打开study目录文件夹.study 目录内新建 images 文件夹,用于保存图片。新建首页文件 index.html(以后我们的网站首页统一规定为 index.html )。新建 style.css 样式文件。我们...

2020-02-28 11:01:30 128

原创 CSS学习(四)

新知识点: 去掉 li 前面的 项目符号(小圆点)语法: list-style: none;圆角边框在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。border-radius 属性用于设置元素的外边框圆角。语法: border-radius:length;参数值可以为数值或百分比的形式。如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,...

2020-02-27 14:12:55 128

原创 CSS学习(三)

CSS的三大特性CSS 有三个非常重要的三个特性:层叠性、继承性、优先级。层叠性相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突 的问题层叠性原则:样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式。样式不冲突,不会层叠。CSS 层叠性口诀:长江后浪推前浪,前浪死在沙滩上。继承性现实中的继承: 我们继承了父亲的姓...

2020-02-25 15:11:57 131

原创 CSS学习(二)

Emmet 语法Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度, Vscode内部已经集成该语法。快速生成HTML结构语法生成标签 直接输入标签名 按tab键即可 比如 div 然后tab 键, 就可以生成 如果想要生成多个相同标签 加上 * 就可以了 比如 div*3 就可以快速生成3个div如果有父子级关系的标签,可以用 > 比如 u...

2020-02-24 14:44:19 137

原创 CSS学习(一)

CSS 简介CSS的主要使用场景就是美化网页,布局页面的。HTML的局限性只关注内容的语义。HTML 可以做简单的样式,但是带来的是无尽的臃肿和繁琐…CSS-网页的美容师CSS 是也是一种标记语言CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、 边距等)以及版面的布局和外观显示样式。CSS 让我们的网页更加丰富多彩,布局更加灵...

2020-02-21 17:03:25 488

原创 HTML学习(二)

1、表格标签表格的主要作用表格主要用于显示、展示数据,因为它可以让数据显示的非常规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得非常重要。一个表格能够让复杂的数据表现的很有调理。总结:表格是 不是用来布局页面的,而是用来展示数据的。表格的基本语法(1)<table></table>是用于定义表格的标签。(2)<tr></tr...

2020-02-20 17:56:12 174

原创 HTML学习(一)

1、HTML基本结构标签

2020-02-19 18:28:38 192

转载 argparse.ArgumentParser()用法解析

argparse模块argparse是一个Python模块:命令行选项、参数和子命令解析器。argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。使用流程1、创建解析器parser = argpa...

2019-11-13 16:38:47 92

原创 python

正则表达式:match() : 传入要匹配的字符串以及正则表达式(从字符串的开头开始匹配);search() : 扫描整个字符串,然后返回第一个成功匹配的结果;findall() : 搜索整个字符串返回所有匹配的结果;sub() : 去掉匹配的信息;compile() : 将正则字符串编译成正则表达式对象以便在后面的匹配中复用;^:字符串的开始&:字符串结束|:匹配左右任...

2019-11-12 18:33:10 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除