# auto-wallpaper **Repository Path**: gylang/auto-wallpaper ## Basic Information - **Project Name**: auto-wallpaper - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-21 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #1. Config.json 配置文件说明 { "rate": 11, // 切换图片速率 单位为[秒] "auto_switch" : true, // 是否由app进行图片的切换 "style": "6", // 样式 0居中 2:拉伸 6:适应 10:填充 22:跨区 "delete_old": false, // 当更新图片的时候是否删除旧图片 ->移动到bak路径 "cover": false, // 当下载图片的是否, 同名是否覆盖 "header": { "Host" : "wall.alphacoders.com" // 请求设置的请求头 }, "base_path" : "C:/data/wallpaper", // 图片下载路径 "Bak" : "C:/data/wallpaper.bak" // 图片备份路径 } #2.抓取图片配置 ##数据结构 ```go package config type Opera struct { Query string `json:"query"` // xpath获取值 Key string `json:"key"` // 表达式当前key Eval string `json:"eval"` // 表达式拼接 // 表达式 } type Config struct { Rate int `json:"rate"` // 切换频率 Style string `json:"style"` // 样式 平铺 拉伸 Tile string `json:"tile"` // 样式 Header map[string]string `json:"header"` //请求头 BasePath string `json:"base_path"` // 文件路径 Bak string `json:"bak"` // 备份路径 AutoSwitch bool `json:"auto_switch"` // 由程序控制自动切换壁纸 DeleteOld bool `json:"delete_old"` // 是否移除旧文件 Cover bool `json:"cover"` // 是否覆盖 HostLoad bool `json:"host_load"` // 热加载 当图片未完全下载也可以切换 DownSleep int `json:"down_sleep"` // 降低下载请求频率 作用防止请求过快触发反爬机制 MinSize int `json:"min_size"` // 过滤文件大小 MinRatio float64 `json:"min_ratio"` // 最小比例 16/9=1.77777777778 MaxRatio float64 `json:"max_ratio"` // 最大比例 防止拉伸导致的展示问题 MinPixel int `json:"min_pixel"` // 最小像素点 MaxPixel int `json:"max_pixel"` // 最大像素点 } ``` ##示例 ```json [ { "name": "wallhaven", //无意义 标注用 "curr_url": "https://wallhaven.cc/search?q=anime&categories=110&purity=100&atleast=1920x1080&sorting=toplist&order=desc&page=2", // 需要解析的网页 "img": null, // 解析图片操作 如果为空, 则当前html中没有需要的图片地址 "set": {}, // 设置变量 当前节点中可以使用预设变量进行表达式操作 "set_query": {}, // 设置变量 当前节点中可以使用预设变量进行表达式操作, 通过cssQuery方式获取值并设置成变量 "next_url": [ // 作用于遍历当前节点html下需要链接, 为下一步解析图片做准备 { "query": ".preview", // 获取html中 class=preview的节点 "Key": "nextMain", // 将解析出来的节点放入到参数当中 "Eval": "Attr(nextMain, 'href')" // 获取当前节点中的 href的属性值 } ], "next": { //配置 next_url访问的html页面进行操作, 结构和外层一样 "img": { // 解析图片地址 "query": "#wallpaper", // 获取html中 id=wallpaper的节点 "Key": "mainImg", // 将解析出来的节点放入到参数当中 "Eval": "Attr(mainImg, 'src')" // 获取当前节点中的src的属性值 } } } ] ```