自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTML5简介与基础骨架

HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.html结尾HTML是一种标记语言,标记语言是一套标记标签。

2024-03-06 22:53:24 372

原创 VSCode开发者工具快捷键

文件 -> 首选项 -> 设置 -> Emmet -> 勾选。为了更简单的生成,还可以配置vsCode。

2024-03-06 22:23:51 417

原创 Python 多个装饰器_执行顺序的深刻剖析

装饰器函数的执行顺序是分为(被装饰函数)定义阶段和(被装饰函数)执行阶段的,装饰器函数在被装饰函数定义好后立即执行。有时候,我们需要多个装饰器修饰一个函数。比如:需要增加日志功能、增加执行效率测试功能。【示例】增加日志和执行计时功能的装饰器。【示例】多个装饰器执行顺序。

2024-03-06 21:30:56 352

原创 Python 装饰器深入剖析_装饰器的写法

装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。v4.0版本解决,装饰器。

2024-03-06 21:16:02 386

原创 Python 函数式编程核心(高阶函数、闭包等)刨析

排序算法,排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较如果是自定义对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。【示例】sorted对list进行排序print("升序排列:",sorter1)

2024-03-05 23:02:22 933

原创 Python PIP安装第三方库

强大的标准库奠定了python发展的基石,丰富和不断扩展的第三方库是python壮大的保证。我们可以进入PyPI官网():可以看到发布的第三方库达到了十多万种,众多的开发者为Python贡献了自己的力量。表 常用第三方库大汇总分类库名称说明环境管理P非常简单的交互式 python 版本管理工具Pyenv简单的 Python 版本管理工具Vex可以在虚拟环境中执行命令创建独立 Python 环境的工具包管理pipPython 包和依赖关系管理工具pip-tools。

2024-03-04 23:30:03 1137

原创 Python 包的概念和创建包导入包

当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有的文件夹。典型结构如下:包下面可以包含“模块(module)”,也可以再包含“子包(subpackage)”。就像文件夹下面可以有文件,也可以有子文件夹一样。上图中,aaa。可以看到每个包里面都有文件。

2024-03-04 23:18:47 319

原创 Python import加载底层原理_importlib实现动态导入

动态导入import语句本质上就是调用内置函数,我们可以通过它实现动态导入。给动态传递不同的的参数值,就能导入不同的模块【示例】使用动态导入指定的模块注意:一般不建议我们自行使用导入,其行为在python2和python3中有差异,会导致意外错误。如果需要动态导入可以使用importlib模块。

2024-03-04 23:15:22 514

原创 Python 模块导入_import和from_import详解和区别

模块化设计的好处之一就是“代码复用性高”。写好的模块可以被反复调用,重复使用。模块的导入就是“在本模块中使用其他模块”。

2024-03-04 23:09:25 368

原创 Python 模块化编程的流程_设计和实现分离的思想

API(Application Programming Interface 应用程序编程接口)是用于描述模块中提供的函数和类的功能描述和使用方式描述。模块化编程中,首先设计的就是模块的API(即要实现的功能描述),然后开始编码实现API中描述的功能。可以通过help(模块名)查看模块的API。我们可以在模块的第一行增加一个文档字符串,用于描述模块的相关功能。我们可以根据这个特点,将模块源代码文件中的测试代码进行独立的处理。我们可以根据这个特点,将模块源代码文件中的测试代码进行独立的处理。

2024-03-04 22:38:13 410

原创 Python 模块化编程理念_什么是模块_哲学思想

py“量变引起质变”是哲学中一个重要的理论。量变为什么会引起质变呢?本质上理解,随着数量的增加,管理方式会发生本质的变化;旧的管理方式完全不适合,必须采用新的管理方式。❤️大家可以清晰的看到这发展的流程,核心的哲学思想就是“量变引起质变”、“物以类聚”。同样的思路,在企业管理、人的管理中思路完全一致。大家可以举一反三。

2024-03-04 22:28:09 339

原创 Splash基本使用

上图中main()方法的第一个参数是splash,这个对象非常重要,它类似于Selenium中的WebDriver对象。

2024-03-04 00:03:33 406

原创 爬虫反反爬及常见反爬手段

下图来自猫眼电影电脑版。

2024-03-03 21:13:06 1681

原创 Scrapy实战保存数据到数据_保存数据到MySQL

目标网站:中国福利彩票网 双色球往期数据。

2024-03-03 16:50:09 345

原创 Scrapy下载中间件介绍及UserAgent_代理_selenium的使用

下载中间件是Scrapy请求/响应处理的钩子框架。这是一个轻、低层次的应用。通过可下载中间件,可以处理和的数据。

2024-03-03 16:19:21 1141

原创 Scrapy FormRequest对象的使用

FormRequest是Request的扩展类,具体常用的功能如下:请求时,携带参数,如表单数据从Response中获取表单的数据FormRequest类可以是:增加了新的构造函数的参数formdata。其余的参数与Request类相同.返回一个新FormRequest对象,其中的表单字段值已预先填充在给定响应中包含的HTML 元素中.

2024-03-03 15:41:35 896

原创 Scrapy Request对象的介绍

爬虫中请求与响应是最常见的操作,对象在爬虫程序中并传递到中,后者并。

2024-03-03 15:15:29 343

原创 Scrapy CrawlSpider的介绍

在Scrapy中Spider是所有爬虫的基类,而CrawSpiders就是Spider的派生类。适用于先爬取start_url列表中的网页,再从爬取的网页中获取link并继续爬取的工作。运行图如下。

2024-03-03 14:59:40 313

原创 Scrapy配置文件Settings的使用解读

Scrapy允许自定义设置所有Scrapy组件的行为,包括核心、扩展、管道和spider本身。

2024-03-03 14:41:40 894

原创 Scrapy ImagePipeline保存图片和自定义

问题文件名不友好存储图片URL的参数名称与类型太固定解决方案自定义ImagePipeline,扩展继承实现方法发送请求,下载图片转发文件名实现修改文件名与保存路径。

2024-03-03 14:03:22 407

原创 Scrapy ItemPipeline的使用

当在Spider中被之后,可以到中统一。

2024-03-03 13:35:00 465

原创 Scrapy数据的提取

Scrapy有自己的数据提取机制。它们被称为选择器。我们可以通过使用的选择器re、xpath、css提取数据不用再与Xpath,BS4。

2024-03-03 13:14:03 308

原创 Scrapy的启动方式介绍

Scrapy启动的方式有多种方式:Scrapy命令运行运行环境运行Python脚本运行环境运行程序之前,要确认网站是否允许爬取robots.txt文件。

2024-03-02 23:57:14 377

原创 Scrapy创建第一个爬虫案例

一般创建爬虫文件时,以网站域名命名。

2024-03-02 21:49:27 575

原创 Scrapy的介绍与安装

Scrapy 是一个用于抓取网站和提取结构化数据的应用程序框架,可用于各种有用的应用程序,如数据挖掘、信息处理或历史存档。尽管 Scrapy 最初是为网络抓取而设计的,但它也可用于使用 API提取数据或用作通用网络爬虫。

2024-03-02 21:37:13 801

原创 Selenium实战虎牙直播案例

【代码】Selenium实战虎牙直播案例。

2024-03-02 18:40:46 347

原创 selenium参数的使用

chrome59版本以后可以变成无头的浏览器,加以下参数。

2024-03-02 18:15:19 447

原创 selenium等待元素

指定一个等待条件,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件,如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定的最长等待时间,如果还是不满足,就会抛出异常,如果满足了就会正常返回。到了一定的时间发现元素还没有加载,则继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行。作用:当代码运行到强制等待这一行的时候,无论出于什么原因,都强制等待指定的时间,需要通过time模块实现。使用 time.sleep。

2024-03-02 17:59:09 311

原创 selenium调用JS实现滚动条获取数据

有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。

2024-03-02 17:47:46 322

原创 selenium拖拽元素

要完成元素的拖拽,首先需要指定被拖动的元素和拖动目标元素,然后利用 ActionChains 类来实现,ActionChains用于定制动作。通过ActionChains对象中的perform()执行动作。

2024-03-02 17:32:31 350

原创 selenium处理弹出窗

有时,页面可能要弹窗口。只需要去定位弹窗上的“确定”按钮即可switch_to焦点集中到页面上的一个警告(提示)accept()接受警告提示切换至弹窗。

2024-03-02 17:23:19 481

原创 selenium定位选择框

在爬取数据时,有时数据太多,而官网提供了筛选功能select标签,像这样的数据,我们只需要定位元素,点击即可。

2024-03-02 17:14:31 311

原创 selenium定位层级内元素

对于一个现代的web应用,经常会出现框架(frame) 或窗口(window)的应用,这也就给我们的定位带来了一个难题。有时候我们定位一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素是否在一个frame中,seelnium webdriver 提供了一个switch_to_frame方法,可以很轻松的来解决这个问题。

2024-03-02 17:05:14 277

原创 selenium定位下拉菜单

selenium_定位下拉菜单1 包含下拉菜单页面<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Level Locate</title> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/j

2024-03-02 16:47:20 333

原创 selenium定位元素

外链图片转存中…(img-mVwggb0g-1709368304735)]对象的定位应该是自动化的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这个人。

2024-03-02 16:32:55 307

原创 selenium控制浏览器解析

我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。

2024-03-02 15:15:07 407

原创 selenium工具介绍与安装

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。

2024-03-01 23:32:50 358

原创 Python类库jsonpath的使用详解

JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Python,Javascript, PHP 和 Java。JsonPath 对于 JSON 来说,相当于 XPATH 对于 XML。

2024-03-01 23:10:05 313

原创 Python模块json处理数据详解

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互JSON和XML的比较可谓不相上下Python 中自带了JSON模块,直接就可以使用了官方文档:http://docs.python.org/library/json.html。

2024-03-01 23:01:55 807

原创 Pytho爬虫xpath解析库的使用详解

之前 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath。

2024-03-01 21:50:15 1594

空空如也

空空如也

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

TA关注的人

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