Haauleon Blog

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

爬虫 | requests 下载图片异常处理

HTTPSConnectionPool(host='...', port=443): Max retries exceeded with url

异常描述   在使用 requests 模块下载亚马逊的图片链接时,抛出了如下异常: 2023-10-11 03:56:58,413 [ThreadPoolExecutor-0_0:140300748936960] keepa - [ERROR] 下载文件接口请求异常: HTTPSConnectionPool(host='images-na.ssl-images-amazon.com'...

爬虫 | Docker环境selenium项目异常处理

selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash

异常描述   在部署的 Docker 项目上用到了 selenium 去访问亚马逊网页链接,最近出现下面的问题频率较高。 1 2 3 4 ... selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash from tab crashe...

Python3 | SQL Server 数据库工具类

使用 pymssql 连接 SQL Server 数据库

SQL Server 数据库工具类 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63...

Python3 | SQL Server 连接失败

(20047, b'DB-Lib error message 20047, severity 9: DBPROCESS is dead or not enabled ')

报错信息 sqlserver 连接失败,报错: 1 (20047, b'DB-Lib error message 20047, severity 9:\nDBPROCESS is dead or not enabled\n') 解决方法 究其原因: 参数填写不完整,原来有个参数:tds_version = "7.0" !!!(kwargs) 1 2 3 4 5 6 ...

数据库 | Mariadb 数据库工具类

使用 mariadb 连接 Mariadb 数据库

Mariadb 数据库工具类 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64...

数据库 | Mariadb 数据库操作基类

可继承该类,使用数据库插入、更新语句

Mariadb 数据库操作基类 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 44 45 # -*- coding: utf-8 -*-# """ @Author : haauleon @Con...

Python3 | 高阶函数的基本使用方法

Python 最频繁使用的 4 个函数:lambda、 map、filter 和 reduce

一、Lambda 函数简介   Lambda 函数也被称为匿名(没有名称)函数,它直接接受参数的数量以及使用该参数执行的条件或操作,该参数以冒号分隔,并返回最终结果。为了在大型代码库上编写代码时执行一项小任务,或者在函数中执行一项小任务,便在正常过程中使用 lambda 函数。 1 lambda argument_list:expersion 1、​​argument_list​​​ 是...

爬虫 | selenium 与多线程的完美结合

使用 Selenium + threading 或 Selenium + ThreadPoolExecutor 实现多线程/线程池

一、前言 使用 Selenium 创建多个浏览器,这在自动化操作中非常常见。而在 Python中,使用 Selenium + threading 或 Selenium + ThreadPoolExecutor 都是很好的实现方法。 应用场景: 1、创建多个浏览器用于测试或者数据采集 2、使用 Selenium 控制本地安装的 chr...

爬虫 | 检查字符串是否为 URL

给定一个字符串,判断该字符串是否为 URL

如何检查字符串是否为URL 方法一:使用Python自带的re库进行URL正则匹配 正则表达式可以识别并匹配形如 URL 的字符,将 URL 从文本中提取出来。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import re def is_url_regex(string): """ 判断字符串是否为URL的正则表达式匹配方法 """ ...

爬虫 | selenium 定位图片后获取 src 属性

webdriver 定位到 img 标签元素,再使用方法 get_attribute 获取 src 的属性值

获取 src 属性值 1 2 3 4 5 6 7 8 9 # 直接导入selenium from selenium import webdriver # 打开网页后通过以下两种方式来识别ID 获取需要的对象 driver.find_element_by_id("user_account") driver.find_element_by_xpath("//*[@id='imgObj']") ...