Metadata-Version: 2.1
Name: NorrisUtils
Version: 1.6.20
Summary: requirements
Home-page: https://www.baidu.com
Author: AlaricNorris
Author-email: norris.sly@gmail.com
Maintainer: AlaricNorris
Maintainer-email: norris.sly@gmail.com
License: BSD License
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries

# SDK 文档

## 概述

此 SDK 提供了截取网页长屏截图和获取网页源码的功能。通过 Selenium 库实现对网页的操作，并支持自定义参数以满足不同场景的需求。

## 安装依赖

确保安装了 `Selenium` 库以及对应的浏览器驱动程序。

## 导入模块

```
python from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
import NorrisUtils.SeleniumUtils.spiders 
import NorrisUtils.SeleniumUtils.thresholds
```

## 函数说明

### `dump_page_capture(url, filename, **kwargs)`

- **功能**：截取指定网页的长屏截图并保存到文件。
- **参数**：
    - `url` (str)：需要截图的网页 URL。
    - `filename` (str)：截图保存的文件名。
    - `kwargs` (dict)：附加参数，包括但不限于以下键值：
        - `width` (int)：浏览器宽度，默认为 2180。
        - `height` (int)：浏览器高度，默认为 1280。
        - `maximum` (bool)：是否最大化浏览器窗口，默认为 True。
        - `threshold` (function)：阈值算法函数，默认为 `NorrisUtils.SeleniumUtils.thresholds.maximize`。
- **返回值**：截图文件名 (str)。

### `dump_page_source(url, **kwargs)`

- **功能**：获取指定网页的源码。
- **参数**：
    - `url` (str)：访问的目标网页 URL。
    - `kwargs` (dict)：可变关键字参数，包括但不限于以下键值：
        - `width` (int)：浏览器宽度，默认为 2180。
        - `height` (int)：浏览器高度，默认为 1280。
        - `maximum` (bool)：是否最大化浏览器窗口，默认为 False。
        - `threshold` (function)：阈值算法函数，默认为 `NorrisUtils.SeleniumUtils.thresholds.default_threshold`。
        - `file_name` (str)：保存页面源码的文件名，默认为 None。
        - `browser` (Obj)：浏览器对象，默认为 None。
        - `close` (bool)：是否关闭浏览器，默认为 True。
- **返回值**：页面源码 (str)。

### `freestyle(url, **kwargs)`

- **功能**：通用函数，用于执行具体的爬虫逻辑。
- **参数**：
    - `url` (str)：访问的目标网页 URL。
    - `kwargs` (dict)：可变关键字参数，包括但不限于以下键值：
        - `width` (int)：浏览器宽度，默认为 2180。
        - `height` (int)：浏览器高度，默认为 1280。
        - `maximum` (bool)：是否最大化浏览器窗口，默认为 False。
        - `browser` (Obj)：浏览器对象，默认为 None。
        - `close` (bool)：是否关闭浏览器，默认为 True。
        - `spider` (function)：具体的爬虫逻辑，默认为 `NorrisUtils.SeleniumUtils.spiders.save_page_source`。
- **返回值**：页面源码 (str)。

## 示例代码

### 截图示例

``` 
dump_page_capture('https://www.example.com', 'example.png', width=1920, height=1080)
```

### 获取源码示例

``` 
source_code = dump_page_source('https://www.example.com', file_name='example.html', width=1920, height=1080)
```

## 注意事项

- 确保安装了相应的浏览器驱动程序，并将其路径添加到环境变量中。
- 在无头模式下运行时，确保服务器支持无头浏览器操作。
- 异常处理已加入，确保程序在遇到错误时能够正常退出。



