# 示例：古诗文资料获取并转存数据库

# 资料站点
- 资料：https://www.gushicimingju.com/
- 数据范式：Shige

# 数据范式 Shige
- title:String 题目
- author:String 作者
- dyansty:String 朝代
- content:Stirng 内容
- intro:String 简介
- yiwen:String 译文（古译今）
- note:String 注释
- review:String 赏析

# 任务1：爬取数据集，并形成Shige数组
- 目标：唐诗三百首全集 https://www.gushicimingju.com/gushi/tangshisanbaishou/

## 纯前端DOM批量分析
- 右键，分析目标站点，同类DOM值的selector特点
    - 选择器特征：.main-content内容区域所有的 a标签
    - 字符串特征：href="/gushi/shi/586.html"
``` js

let ElArray = document.querySelectorAll(".main-content a")
let list = []
for(let i=0;i<ElArray.length;i++){
    list[i] = ElArray[i]
}
// HTMLElement 转换成 href字符串 "https://www.gushicimingju.com/gushi/shi/113.html"
console.log("DOM选择后，数量：",list.length)
list = list.map(el=>el.href)
// 过滤符合特征的链接地址
list = list.filter(item=>(item?.indexOf("/gushi/shi/")>-1))
console.log("字符过滤后，数量：",list.length)
// 将list数据保存至href.js

```

## 后端的页面分析

### 依赖环境
https://www.npmjs.com/package/cheerio

``` bash
npm i cheerio -S
```

# 任务2：将数组批量导入系统
- 参考代码：import.js
    - 实现href链接html数据获取
    - 通过cheerio进行DOM分析
    - 通过css selector标记准确字段
    - Parse.Query查重
    - Parse.Object保存