自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AST反混淆js代码——猿人学竞赛第二题

猿人学js比赛第二题还原分析

2023-06-12 14:17:01 1161

原创 ensp配置

ensp

2022-06-23 10:37:06 162

原创 MongoDB的使用以及和python的交互

什么是MongoDB ?https://www.runoob.com/mongodb/mongodb-intro.html 菜鸟教程

2022-06-23 10:34:11 828

原创 记一次js逆向详细过程

目标网站

2022-04-04 17:17:58 4388 1

原创 Python网络爬虫基本库的使用(大章)

学习爬虫,最基本的操作就是模拟浏览器向服务器发出请求。Pyhton提供了功能齐全的类库来帮助我们实现这些需求。接下来,就让我们从最基础的部分开始了解HTTP库的使用方法吧。urllib 的使用版本:在Python2中,有urllib和urllib2两个库来实现请求的发送。而在python3中,已经不存在urllib2这个库了,统一为urllib。简介:urllib是python内置的http请求库,也就是说不需要额外安装即可使用。它包含如下四个模块。request:它是最基本的 HTTP 请求模块,

2022-02-07 14:18:49 124

原创 selenium 自动化测试

Selenium 是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在Web自动化领域应用越来越广泛。

2022-01-28 21:09:33 11884

原创 猿人学js逆向第一题

2021-12-07 22:41:23 258

原创 Python爬虫实战————百度翻译Js逆向

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-11-02 17:27:16 977

原创 Scrapy CrawlSpider

CrawlSpiderCrawlSpider 是 Scrapy 提供的一个通用 Spider。在 Spider 里,我们可以指定一些爬取规则来实现页面的提取,这些爬取规则有一个专门的数据结构 Rule 表示。Rule 里包含提取和跟进页面的配置,Spider 会根据Rule来确定当前页面中的哪些链接需要继续爬取、哪些页面的爬取结果需要用到哪个方法进行解析等。RuleCrawlSpider 里最重要的就是Rule的定义了,它的定义和参数如下所示:class scrapy.spiders.Rule(

2021-07-02 21:10:07 293

原创 使用Scrapy爬取励志名句————祝万千学子高考顺利

6月7日,2021年全国高考正式拉开大幕,1078万考生将赶赴考场,迎接人生路上的一次大考。在此,我将使用Scrapy爬取一些励志名句献给广大的高考考生,祝他们高考顺利,学业有成!流程分析创建项目创建爬虫程序进行初始化设置分析网页并创建Item代码实现创建项目首先,我们要创建一个项目,通过下面的命令来实现创建项目:scrapy startproject gsw执行上述代码后,可以看到在文件下创建了一个名为gsw的项目文件夹,其目录结构如下:创建爬虫程序创建好项目后,我们需要先创建

2021-06-07 20:29:30 635 4

原创 Scrapy框架入门

Scrapy简介

2021-06-07 18:07:36 147

原创 代理的使用

代理

2021-05-10 12:24:59 1138 1

原创 简单图形验证码的识别

目前,许多网站采取各种各样的措施来反爬虫,其中一个措施是使用验证码。随着技术的发展,验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码,后来加入了英文字母和混淆曲线。有的网站还可能看到中文字符的验证码。后来 12306 验证码的出现使得行为验证码开始发展起来,用过 12306 的用户肯定多少为它的验证码头疼过。我们需要识别文字,点击与文字描述相符的图片,验证码完全正确,验证才能通过。现在这种交互式验证码越来越多,如极验滑动验证码需要滑动拼合滑块才可以完成验证,点触验证码需要完全点击正确结果才

2021-05-06 22:06:26 5021

原创 动态渲染页面爬取

在之前,我们了解了 Ajax 的分析和抓取方式,这其实也是 JavaScript 动态渲染的页面的一种情形,通过直接分析 Ajax ,我们仍然可以借助 requests 或 urllib 来实现数据爬取。不过,JavaScript 渲染的页面不止 Ajax 一种,为了解决这些问题,我们可以直接使用模拟浏览器运行的方式来实现。这样就可以做到在浏览器中看到是什么样,抓取到的源码就是什么样,也就是可见即可爬。这样我们就不用再去管网页内部的 JavaScript 用了什么算法渲染页面,不用管网页后台的 Ajax

2021-04-29 20:28:27 232

原创 Ajax数据爬取

有时候我 在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用 requests 得到的结果并没有 这是因为 quests 获取的都是原始的 HTML 文档,而浏览器中的页面则是经过 JavaScript 处理数据后生成的结果,这些数据的来源有多种,可能是通过 jax 加载的, 可能是包含在 TML 文档中的,也可能是经过 JavaScript 和特定算法计算后生成...

2021-04-26 00:36:56 470

原创 数据存储——数据库

关系型数据库存储关系型数据库是基于关系模型的数据库,而关系模型是通过二维表保存的,所以它的存储方式就是行列组成的表,每一列就是一个字段,每一行就是一条记录。表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。关系型数据库有多种,如SQLite、MySQL、Oracle、SQL Server、DB2等。MySQL的存储本节我们主要介绍Python3下MySQL的存储。在python2中,连接MySQL的库大

2021-04-25 00:35:48 1350

原创 Beautiful Soup的使用

使用Beautiful Soup对于一个网页来说,都有一定的特殊结构和层次关系,而且很多节点都有id或class属性来做区分,所以我们也可以借助它们的结构和属性来进行数据提取。简介简单来说,Beautiful Soup就是Python的一个HTML 或 XML的解析库,可以用它来方便的从网页中来提取数据。利用它可以省去很多繁琐的提取工作,提高了工作效率。解析器Beautiful Soup 在解析时实际上依赖于解析器,它除了支持Python标准库中的HTML解析器外,还支持一些第三方解析器(比如lx

2021-04-07 14:56:15 636 1

原创 爬虫解析库——XPath的使用

使用XPathXPath,全称 XML Path Language,即XML 路径语言,它是一门在 XML 文档中查找信息的语言。但是它同样适用于 HTML 文档的搜索。所以在做爬虫的时候,我们完全可以使用 XPath 来做相应的信息提取。XPath 概览XPath 的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过 100 个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理。几乎所有我们想要定位的节点,都可以用 XPath 来选择。XPath 常用规则下图

2021-03-15 23:14:36 904 1

原创 正则表达式快速入门和爬虫

正则表达式简介正则表达式,又称规则表达式。是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。对于爬虫来说,有了它,从HTML里提取想要的信息就非常方便了。实例引入下面就用几个实例来看一下正则表达式去的用法。我们可以打开正则表达式测试工具 https://regex101.com/ ,输入待匹配的文本以及相应的正则表达式,就可以得出相应的匹配结果。例如,这里输入待匹配的文本如下:Hello,

2021-03-13 15:31:08 118

原创 Python 爬虫网络请求模块下——requests

requests上一节我们了解了 urllib 的基本用法,但是其中确实有不方便的地方,比如处理网页验证,需要写Opener 和 Handler 来处理。为了更加方便的实现这些操作,就有了更为强大的库requests 。基本用法安装模块我们可以使用pip这个包管理工具进行安装在命令行界面中运行如下命令,即可完成requests的安装:pip install requestsGET 请求HTTP 中最常见的请求之一就是GET 请求,下面首先来详细了解一下利用 requests 构建 GET 请求

2021-02-28 23:13:05 160

原创 Python 爬虫网络请求模块上——urllib

urllib简介:urllib是python内置的http请求库版本python2 :urllib2、urllibpython3 :把urllib和urllib2合并1、请求模块:urllib.requesturllib.request.urlopen(),urlopen()方法中的url参数可以是字符串,也可以是一个Request对象作用 :向网站发起一个请求并获取响应字节流 = response.read()字符串 = response.read().decode(“utf-8”)#

2021-02-10 21:51:47 184

原创 Python 爬虫相关知识简介

通讯协议

2021-01-24 21:47:42 496

原创 Tkinter 事件处理

事件处理一个 GUI 应用整个生命周期都处在一个消息循环 (event loop) 中。它等待事件的发生,并作出相应的处理。 Tkinter 提供了用以处理相关事件的机制处理函数可被绑定给各个控件的各种事件。widget.bind(event, handler)如果相关事件发生, handler 函数会被触发, 事件对象 event 会传递给 handler 函数1. 鼠标和键盘事件2. event 对象常用属性3. lambda 表达式详解lambda 表达式定义的是一个匿名函数,只适

2021-01-18 15:42:21 1106

原创 python GUI图形界面化编程——Tkinter

一、前言由于本篇文章较长,所以下面给出内容目录方便跳转阅读GUI图形界面化编程一、前言一、GUI图形界面化编程二、常用的GUI库三、GUI 编程的核心步骤和第一个 GUI 程序四、GUI编程整体描述五、常用组件汇总列表六、GUI 应用程序类的经典写法七、动手实践学习简单组件的使用1、 Label标签部件2、Button按钮部件3、 Entry单行文本框部件4、Text多行文本框部件5、Radiobutton6、Checkbutton八、Options选项详解一、GUI图形界面化编程GUI 编程类似于

2021-01-17 17:36:32 1188

原创 tkinter 打造文本编辑器

文章目录基本框架主菜单快捷菜单编辑器主题上下文菜单功能实现遗留问题效果图基本框架主菜单# 采用面向对象的写法def _creat_menu_bar(self): menu_bar = Menu(self) # 文件菜单创建,具体的菜单项可以自行更改 file_menu = Menu(menu_bar, tearoff=0) menu_bar.add_cascade(label='文件', menu=file_menu

2021-01-16 22:33:47 398

原创 tkinter 布局管理器

布局管理器一个 GUI 应用程序必然有大量的组件,这些组件如何排 布?这时候,就需要使用 tkinter 提供的布局管理器帮助我们 组织、管理在父组件中子组件的布局方式。tkinter 提供了三 种管理器:pack、grid、place。grid 布局管理器grid 表格布局,采用表格结构组织组件。子组件的位置由 行和列的单元格来确定,并且可以跨行和跨列,从而实现复 杂的布局。grid()方法提供的选项【示例】grid 布局用法-登录界面设计from tkinter import *from

2021-01-08 15:54:00 956

原创 文件的读写操作

文件操作文件操作介绍在实际操作中,通常需要将数据写入到本地文件或者从本地文件中读取数据等操作,那么作为Python爱好者的我们,必须掌握用Python语言去对本地文件进行操作。本地文件操作步骤• 找到文件所在位置• 打开文件• 操作文件• 关闭文件打开文件 open()函数open()函数语法open(file, mode='r',encoding=None) --> 打开文件完整的语法格式为:open(file, mode='r', buffering=-1, enco

2020-12-20 22:49:13 471

原创 异常与模块

异常异常介绍当Python无法正常处理程序时就会发生一个异常,会影响程序的正常执行。异常也是Python对象,表示一个错误。异常的传播当在函数中出现异常时,如果在函数中对异常进行了处理,则异常不会在进行传播。如果函数中没有对异常进行处理,则异常会继续向函数调用传播。如果函数调用处处理了异常,则不再传播异常,如果没有处理则继续向调用处传播。直到传递到全局作用域(主模块)如果依然没有处理,则程序终止,并显示异常信息。当程序运行过程中出现异常以后,所有异常信息会保存到一个异常对象中。而异常传播时,实际

2020-12-20 22:20:48 183

原创 python 面向对象(oop)

面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程类类也是一个对象,类就是用来创建实例对象的对象类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类的定义# 使用class去定义一个类,可以在其中定义属性和方法,类中定义的属性和方法都是公共的,任何该类实例都可以访问class ClassName: ...

2020-12-20 21:23:49 156

原创 python 迭代器与生成器及编码规范

可迭代对象我们已经知道可以对list、tuple、dict、set、str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。把可以通过for…in…这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)推导式推导式分为 列表推导式、字典推导式、集合推导式等。在这里我们主要说其中一种也是用的最多列表推导式列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表简单理解就是由一个旧的列表来

2020-12-09 19:07:28 143

原创 python time模块常用函数总结

python 日期与时间Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python 提供了一个 time 模块可以用于格式化日期和时间。time.time() 用于获取当前时间戳每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。Python 的 time 模块下有很多函数可以转换常见日期格式。import timeticks = time.time()print(ticks)>>> 1607266899.751054

2020-12-07 15:53:55 5140

原创 python 带你了解函数装饰器

装饰器基本概念装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)一切皆对象首先我们来理解下 Python 中的函数:def hello(name='python'): return 'hello '+nameprint(hello())>>> hello python# 我们可以将一个函数赋值给一个变量(也就是说函数可以作为参数传递给其他函

2020-12-06 22:54:19 147

原创 python 基础学习八——函数

函数函数简介• 函数也是一个对象• 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。• 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数def 函数名([形参1,形参2,形参3....]): 代码块你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在

2020-12-02 00:39:20 971 4

原创 python 基础学习七(元组、字典、集合)

元组• 元组表现形式tuple,元组与列表类似,不同之处在于元组的元素不能修改• 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表),所谓元组的不可变指的是元组所指向的内存中的内容不可变。• 使用()创建元素,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。>>> tup1 = ('Google', 'Runoob', 1997, 2000)>>> tup2 = (1, 2, 3, 4, 5 )>>

2020-11-29 19:37:38 175

原创 python 基础学习六笔记(列表)

列表序列(sequence)##### 基本概念数学上,序列是被排成一列的对象(或事件);这样每个元素不是在其他元素之前,就是在其他元素之后。这里,元素之间的顺序非常重要。序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引数据结构指计算机中数据存储的方式序列的分类可变序列(序列中的元素可以改变):例如 列表(list)不可变序列(序列中的元素不能改变):例如 字符串(str)元

2020-11-27 16:53:48 130

原创 python 基础学习五 流程控制语句

1、条件判断语句条件判断语句(if语句)• 执行的流程:• if语句在执行时,会先对条件表达式进行求值判断,• 如果为True,则执行if后的语句• 如果为False,则不执行• 语法:if 条件表达式 :代码块• 代码块中保存着一组代码,可以使得一段python代码作为一个单元、一个整体执行。• 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束• 代码块就是一种为代码分组的机制input() 函数• 该函数用来获取用户的输入• input()调用后,程序会立即暂停,等待用户

2020-11-21 20:57:43 168

原创 python 基础学习四 (运算符及内存的相关知识)

1. 运算符1.1 运算符的概念• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”1.2 运算符的分类• 算术运算符• 赋值运算符• 比较运算符(关系运算符)• 逻辑运算符• 位运算符• 成员运算符• 身份运算符• 条件运算符(三元运算符)算术运算符• 加法运算符 表现形式 +• 减法运算符 表现形式 -• 乘法运算符 表现形式 *• 除法运算符 表现形式 /• // 整除,只会保留计算后的整数位,总会返回

2020-11-20 17:55:50 191

原创 python 基础学习笔记三 (python基础)

python语法1. 几个概念1.1 表达式• 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合• 表达式特点• 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响• 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出1.2 语句• 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成• 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果1.3程序(program)• 程序就

2020-11-19 19:30:42 143

原创 python 基础学习三 小练习

1、a,b=6,8 我想让a=8 b=6 该怎么办?用两种方法实现。#第一种a,b=6,8c=aa=bb=cprint(a,b)#第二种a,b=6,8a,b=b,aprint(a,b)2、完成字符串的逆序以及统计设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入打印出字符串长度使用切片逆序打印出字符串while True: str1=input('请输入一个字符串:') if len(str1)>30: print('

2020-11-18 16:35:14 251

原创 python 基础学习笔记二(续)pycharm安装及常见问题

PyCharm的安装和配置PyCharm的安装

2020-11-16 21:48:23 228 1

空空如也

空空如也

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

TA关注的人

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