Haauleon Blog

我干了什么 究竟拿了时间换了什么

Debian | Ubuntu/Debian Server 系统安装/升级/删除 Google Chrome

下载、安装旧版的 chrome 浏览器和 chromedriver 用于无头模式下运行 selenium 爬虫程序

一、背景   目前有如下需求,在 Debian 服务器上搭建一个用于执行 selenium 自动化爬虫的程序,而程序的执行依赖google chrome 浏览器和chromedriver 驱动的支持。截止至今日 2023 年 8 月 28 日,chromedriver 的版本只更新到 114,不支持最新 116 版本的 chrome 浏览器。因此,需要下载旧版的 chrome 浏览器和与之相...

Python3 | jinja2 相关模块导入异常

ImportError: cannot import name evalcontextfilter, Markup, escape from 'jinja2'

问题描述 将 python3.6 升级到 python3.8,各种包安装完成后,运行脚本,报错: 1 ImportError: cannot import name evalcontextfilter, Markup, escape from 'jinja2' 解决办法 查看 jinja2 的版本: 1 > pip show jinja2 ...

Python3 | itsdangerous 相关模块导入异常

ImportError: cannot import name 'json' from itsdangerous

问题描述 目前使用 python3.8 和 Flask==1.1.2,各种包安装完成后,运行脚本,报错: 1 ImportError: cannot import name 'json' from itsdangerous 解决办法 查看 itsdangerous 的版本: 1 > pip show itsdangerous 更新 i...

影刀RPA | 自定义日志打印装饰器

在某个类方法开始执行时就打印此方法的操作内容,原生的语句太长太冗余了,使用语法糖免去了注释和打印语句

一、背景   原生的影刀 RPA 的打印语句太长了,每次打印就要调用一次,而且还需要额外增加注释和打印语句。 二、需求   自定义装饰器,实现在某个类方法进行自动化操作前就打印该操作的内容,使用语法糖进行装饰,比较美观而且实用。 三、实现 自定义装饰器 语法糖装饰类方法 最终执行效果 1、自定义装饰器 函数嵌套的方式实现装饰器 logger_print...

影刀RPA | 自定义窗体捕获失败重试装饰器

在桌面软件自动化作业时,遇到应用奔溃或者卡顿时可使用装饰器进行异常重试处理

一、背景   一般来说,使用RPA在进行桌面软件自动化操作时,通常需要捕获到当前作业的窗体来供程序识别需要在哪个窗口进行自动化操作。而有个问题是,如果有大批量的操作时,就会造成窗口卡顿甚至应用奔溃,在卡顿无响应和奔溃时,如果没有做异常处理和异常重试,程序就会停止运行。 二、需求   自定义装饰器,然后使用装饰需要借助于该窗体的自动化操作(函数或者类方法),在卡顿无响应和奔溃时,能实现...

Python3 | 装饰器的使用

装饰函数、装饰类方法的应用

一、闭包 在今后的学习中装饰器会起到很大的作用,而装饰器就是基于闭包来实现的。 1.闭包的必要性 在一个函数中如果想要想要使用一个变量,我们最直接的方法就是设置一个全局变量。但是这个变量如果只会使用一两次,那么直到代码进行结束前,那个全局变量一直都会占用着资源,不会被销毁,会浪费资源。 2.定义 一个函数中若要用到另一个函数的参数,则可以通过闭包的形式来实行。 ...

爬虫 | chrome 浏览器无法显示请求

解决 chrome 谷歌浏览器的 network 选项看不到请求信息

问题描述 看不到任何 http 请求和 js、css、图片等请求资源 问题解决 解决方法 – 两处点亮一处取消 相关链接: chrome 谷歌 network看不到请求信息

Python3 | 猫眼电影国内票房排行榜钉钉推送

实现抓取猫眼电影国内票房排行榜前十名进行钉钉消息推送

实现效果 代码实现 1.安装第三方包 1 $ pip install DingtalkChatbot==1.5.3 2.完整代码实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4...

Python3 | JSON 和字符串之间的转换与读写

字典与json间、列表与json间、字符串与json间的转换以及字典或列表读写到json文件等

一、字典(JSON 对象)与JSON字符串的转换 1.字典转JSON字符串 1 2 3 4 5 6 7 import json student = {"name": "张三", "age": 18, "gender": "男"} # 将字典转成json字符串 jsonStr = json.dumps(student, ensure_ascii=False) print(type(jsonS...

Python3 | xpath 获取 html 元素对象

获取 DOM 树各个节点的 xpath 路径

代码实现 在使用 python 进行网络爬虫并对网页解析成 DOM 树时,有时需要获取各个 DOM 树节点的 xpath 路径。具体代码如下: 方法1、生成 DOM 各节点的 xpath 路径 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 import lxml ...