Xpaw

Latest version: v0.11.2

Safety actively analyzes 630052 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.10.1

-------------------

- 新增 ``make_requests`` 函数,用于发起请求并获取对应的结果,详见 :ref:`make_requests`
- ``log_level`` 支持小写字母配置,如 ``debug`` 。

0.10.0

-------------------

- ``xpaw crawl`` 支持直接运行spider,支持指定配置文件,添加了更多的功能选项
- 添加 ``daemon`` 配置项,支持以daemon模式运行爬虫
- 添加 ``pid_file`` 配置项,支持将爬虫所在进程的PID写入文件
- 添加 ``dump_dir`` 配置项,支持爬虫的暂停与恢复
- 运行spider结束时移除配置的log handler,避免先后多次运行spider时打印多余的日志
- 移除爬虫工程的入口文件setup.cfg,直接通过工程根目录下的config.py完成配置
- 重构ProxyMiddleware配置项
- 通过 ``speed_limit_enabled`` 控制限速中间件SpeedLimitMiddleware的开启/关闭,默认为关闭状态
- 配置项 ``verify_ssl`` 的默认值更改为 ``False``
- 配置项 ``queue_cls`` 更名为 ``queue``
- 配置项 ``dupe_filter_cls`` 更名为 ``dupe_filter``
- cluster的 ``stats_center`` 更名为 ``stats_collector`` ,配置项 ``stats_center_cls`` 更名为 ``stats_collector``
- 调整了中间件加载顺序权值
- HttpRequest对 ``auth`` , ``cookie_jar`` , ``proxy`` , ``proxy_auth`` 的配置移至 ``meta`` 属性中
- SetDupeFilter更名为HashDupeFilter
- 修改aiohttp的版本限制为>=3.3.2

0.9.1

------------------

- 修复了setup.py中读取README的编码设置问题
- 不再只依赖于通过定时轮询判定job是否结束,单次下载完成后即判定job是否结束
- 修改依赖库的版本限制

0.9.0

------------------

- 中间件的加载细分为内置中间件和用户自定义中间件两部分,内置中间件自动加载,用户中间件的加载由配置项确定
- 中间件加载的顺序由配置的权值确定,权值越大越贴近downloader/spider
- 添加 ``NotEnabled`` 异常,在中间件/拓展的构造函数中控制抛出该异常来实现开启或禁用该中间件/拓展。
- 添加UserAgentMiddleware,支持选择PC端或移动端的User-Agent,支持随机User-Agent
- 支持配置日志写入指定文件
- 修复了HttpRequest的fingerprint计算时没有考虑端口号的bug
- 移除ResponseNotMatchMiddleware
- 移除ProxyAgentMiddle,原有功能并入ProxyMiddleware
- 修改了RetryMiddleware,ProxyMiddleware,DepthMiddleware的参数配置方式
- ForwardedForMiddleware更名为ImitatingProxyMiddleware,用于设置HTTP请求头的 ``X-Forwarded-For`` 和 ``Via`` 字段
- 系统配置 ``downloader_verify_ssl`` 更名为 ``verify_ssl`` , ``downloader_cookie_jar_enabled`` 更名为 ``cookie_jar_enabled``
- 更新了downloader和spider相关的错误处理流程
- 更新了判定job结束的逻辑

0.8.0

-----------------

- spider的 ``start_requests`` 和 ``parse`` 函数支持async类型和python 3.6中的async generator类型
- spider中间件的handle_*函数支持async类型
- 添加事件驱动相关的eventbus和events模块,支持事件的订阅/发送,可通过 ``cluster.event_bus`` 获取event bus组件
- 捕获SIGINT和SIGTERM信号并做出相应处理
- 添加extension模块,支持用户自定义拓展
- 添加statscenter模块,用于收集,管理系统产生的各项统计量,可通过 ``cluster.stats_center`` 获取stats center组件;
系统配置添加 ``stats_center_cls`` 项,用于替换默认的stats center的实现
- SetDupeFilter添加 ``clear`` 函数
- 系统配置添加 ``downloader_verify_ssl`` 项,用于开启或关闭SSL证书认证
- HttpRequest的 ``body`` 参数支持 ``bytes`` , ``str`` , ``FormData`` , ``dict`` 等形式
- HttpRequest添加 ``params`` , ``auth`` , ``proxy_auth`` , ``priority`` 等属性
- 添加深度优先队列LifoQueue,以及优先级队列PriorityQueue,默认 ``queue_cls`` 更改为 ``xpaw.queue.PriorityQueue``
- 支持设定HTTP请求的优先级并按优先级进行爬取
- 添加item,pipeline模块,支持spider在处理response时返回BaseItem的实例或dict,并交由用户自定义的item pipelines进行处理
- 实例化中间件的classmethod ``from_config`` 更改为 ``from_cluster`` ,现在 ``config`` 参数可以通过 ``cluster.config`` 获取
- queue组件的 ``push`` , ``pop`` 函数,以及dupefilter组件的 ``is_duplicated`` 函数改为async类型
- 移除queue组件和dupefilter组件的基类,RequestDequeue更名为FifoQueue
- 系统不再默认调用dupefilter组件和queue组件的 ``open`` 和 ``close`` 函数,如果自定义的组件包含这些函数,可通过订阅相关事件的方式进行调用
- 系统配置 ``dupefilter_cls`` 更名为 ``dupe_filter_cls`` ,cluster的 ``dupefilter`` 属性更名为 ``dupe_filter``
- RequestHeadersMiddleware更改为DefaultHeadersMiddleware,配置字段 ``request_headers`` 更改为 ``default_headers``,功能由覆盖headers变为设置默认的headers
- 修改了MaxDepthMiddleware更改为DepthMiddleware的参数配置方式,功能变为记录request的depth并对max depth加以限制
- 修改了ProxyMiddleware和ProxyAgentMiddleware的参数配置方式
- 移除CookieJarMiddleware,通过 ``downloader_cookie_jar_enabled`` 配置是否启用cookie
- 重写了SpeedLimitMiddleware,通过 ``rate`` (采集速率) 和 ``burst`` (最大并发数) 来限制采集速率
- 更新了 ``request_fingerprint`` 的计算方式
- 修改aiohttp的版本限制为>=2.3.2

0.7.1

------------------

- 通过 ``every`` 实现定时任务功能
- HttpRequest添加 ``dont_filter`` 字段,为 ``True`` 时表示该请求不会被过滤
- ``xpaw.run`` 模块中添加 ``run_spider`` 函数,便于在python代码中直接运行Spider类
- ``xpaw.utils.run`` 模块中 ``run_crawler`` 函数移动至 ``xpaw.run`` 模块
- 原utils, commands, downloadersmws, spidermws各合并为一个模块

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.