Releases: shengchenyang/AyugeSpiderTools
Releases · shengchenyang/AyugeSpiderTools
ayugespidertools-3.9.1
ayugespidertools-3.9.0
AyugeSpiderTools 3.9.0 (2023-12-18)
Deprecations
AsyncMysqlPipeline
改名为AyuAsyncMysqlPipeline
。AsyncMongoPipeline
改名为AyuAsyncMongoPipeline
。- 删除
oss
的模块及依赖。
注:最新示例请在 DemoSpider 中查看,以往旧版请切换对应分支查看。
New features
- 添加
oracle
的存储场景支持,目前有fty
及twisted
两种方式。 - 添加
mongodb:uri
的配置方式。
Bug fixes
- 解决
asyncio mysql
协程场景下可能会出现的被垃圾回收而阻塞的问题。 - 解决
mysql
或postgresql
的错误处理场景下由于权限等问题造成的循环递归问题。
Code optimizations
- 优化
.conf
模板示例,配置更明确且更易管理。 mypy check
.
ayugespidertools-3.8.0
AyugeSpiderTools 3.8.0 (2023-12-03)
Deprecations
MYSQL_ENGINE_ENABLED
的配置项名改为DATABASE_ENGINE_ENABLED
,目前支持msyql
和postgresql
。- 安装再添加
database
选项,可通过pip install ayugespidertools[database]
安装所需的所有数据依赖及扩展。
注意:此变更包含不兼容部分,需要着重注意的部分如下:
- 删除了
MYSQL_ENGINE_ENABLED
配置项; - 由于
SQLAlchemy
依赖升级到了2.0+
新版本,与以往的去重使用有变化,具体请查看本库readthedocs
文档。
New features
- 支持
python3.12
。 - 添加
postgresql
的存储场景支持,目前有同步场景及结合twisted
的异步场景。 DATABASE_ENGINE_ENABLED
的配置目前会激活对应场景中数据库的engine
和engine_conn
以供去重使用。- 将
psycopg
相关的数据库扩展依赖改为可选项,可通过pip install ayugespidertools[database]
安装所需依赖。
Bug fixes
- 无。
Code optimizations
- 优化
type hints
。 - 更新生成脚本模板以匹配新版本,也可使用以往
pandas
去重方式。 - 更明确的日志信息。
ayugespidertools-3.7.0
AyugeSpiderTools 3.7.0 (2023-11-23)
Deprecations
-
获取
nacos
和consul
中的配置时不再转小写,请按照 readthedocs 示例填写。 -
删除
html2text
相关依赖及代码,此场景更适合自行实现。 -
安装不再包含非核心依赖,可通过
pip install ayugespidertools[all]
安装全部依赖。 -
一些
api
变动:更改前 更改后 受影响的部分 备注 extract_html_to_md 删除 ayugespidertools.formatdata AliOssBase 转移到 ayugespider.extras 中 ayugespidertools.oss yidungap, imgoperation, verificationcode 转移到 ayugespider.extras 中,并整理在一起 ayugespidertools.imgoperation
ayugespidertools.verificationcode
ayugespidertools.common.yidungap在 extras 部分查看变化。 -
以下是对
extras
相关模块所影响较大部分的介绍:更改前 更改后 受影响的部分 备注 YiDunGetGap.discern CvnpilKit.discern_gap ayugespidertools.common.yidungap Picture.identify_gap CvnpilKit.identify_gap ayugespidertools.imgoperation match_img_get_distance CvnpilKit.match_gap ayugespidertools.verificationcode get_normal_track CvnpilKit.get_normal_track ayugespidertools.verificationcode get_selenium_tracks ToolsForAyu.get_selenium_track ayugespidertools.verificationcode
注意:
- 此变更包含不兼容部分,如果你只使用其中
scrapy
扩展库部分,那么除了nacos
,consul
的yaml
和hcl
解析外对你无影响。 - 再次提醒,使用时请做好依赖管理,以免不兼容部分对你的影响!
New features
mongo
场景添加authMechanisem
配置选项,为可选配置,默认为SCRAM-SHA-1
。- 将
numpy
,oss
,pillow
等非核心依赖改为可选项,可通过pip install ayugespidertools[all]
安装所有依赖。
Bug fixes
- 无。
Code optimizations
- 优化
aiohttp
,cvnpil
等测试用例,将图像相关功能整理并放入cvnpil
模块中。 ayuge version
修改为从__version__
获取信息的方式。- 更新模板,
mysql_engine
的示例改为通过sqlalchemy
的方式,减少依赖数且大部分场景运行效率更好。 - 将可选装依赖的相关的功能代码统一放入
extras
中,更易管理。
ayugespidertools-3.6.1
AyugeSpiderTools 3.6.1 (2023-11-06)
New features
- 无。
Bug fixes
- 解决
mq
推送场景时yield AyuItem
时的错误,现可支持多种格式。 - 解决
VIT_DIR
默认参数未存储至settings
中的问题。
Code optimizations
- 文件下载场景添加
FILES_STORE
路径不存在时的自动创建处理。 settings
模板删除无关配置。- 项目添加
question issues template
。
ayugespidertools-3.6.0
AyugeSpiderTools 3.6.0 (2023-10-31)
Deprecations
- 一些
api
变动:
更改前 | 更改后 | 受影响的部分 | 备注 |
---|---|---|---|
删除 LOGURU_CONFIG 配置参数 |
现只需配置 LOGURU_ENABLED 即可 |
slog 日志模块 |
|
删除 spider 中 settings_type 参数 |
此为过度设计,若需要可自定义配置 | 项目配置信息 | |
删除 spider 中 mysql_engine_enabled 参数 |
转移到设置中,名称为 MYSQL_ENGINE_ENABLED |
配置模块,影响较大。 | |
AyuItem 中 _table 参数类型修改删除 spider 中 custom_table_enum 参数 |
修改为与普通字段一样的 DataItem 或 str 类型,删除 demand_code 字段。 |
spider ,Item 模块 |
|
删除 RECORD_LOG_TO_MYSQL 配置参数 |
改为 ayugespidertools.pipelines.AyuStatisticsMysqlPipeline 方式调用。 |
配置模块 |
注意:
- 此变更包含不兼容内容,请修改不兼容部分并调试正常后再投入生产;本项目在有一些不兼容变更时,会发布
Minor
及以上的版本包,请做好依赖版本管理。 - 新版本的示例请查看 DemoSpider 中最新代码,
v3.5
旧版本示例请查看其3.5.x
分支。
New features
- 无。
Bug fixes
- 无。
Code optimizations
- 设置
VIT_DIR
默认参数。 - 去除冗余配置,统一配置风格。将一些过于复杂的模块拆分,便于管理。
ayugespidertools-3.5.2
AyugeSpiderTools 3.5.2 (2023-10-17)
New features
- 添加从
nacos
中获取配置的方法,若.conf
中同时存在consul
和nacos
配置则优先使用consul
;即优先级consul
>nacos
。
Bug fixes
- 无
Code optimizations
- 删除
.conf
示例中的无用配置wxbot
。 - 优化从本地
.conf
获取配置的逻辑,也提供更清晰明确的报错信息。 tox
重新添加了windows
场景。- 更新
CI
工具版本。
ayugespidertools-3.5.1
ayugespidertools-3.5.0
AyugeSpiderTools 3.5.0 (2023-09-21)
Bug fixes
- 无。
Code optimizations
scrapy
依赖升级为2.11.0
。- 统一运行统计的方法,修改运行
stats
中有关时间的获取和计算方法。 - 添加
pre-commit
工具和CI
,提升commit
和pull request
体验。 - 更新
readthedocs
的新配置。 - 优化
test_crawl
的测试方法。
查看完整的变更日志,并查看对应文档内容。
ayugespidertools-3.4.2
AyugeSpiderTools 3.4.2 (2023-09-15)
Bug fixes
- 修复
crawl
模板文件中TableEnum
的导入问题。 - 修改文档中
kafka
推送示例typo
问题。
Code optimizations
- 优化文件下载本地的逻辑,处理当
file_url
不存在时的情况。 - 优化
items
,typevar
等模块的type hint
,并删除无用的类型内容。 - 设置包源的优先级。
- 增加测试用例。
- 添加
mypy
工具。
查看完整的变更日志,并查看对应文档内容。