RyaneMax af5339d161 fix: update shige schema 4 months ago
..
.gitignore 346840e4b5 feat: gushi import tangshi300 4 months ago
README.md af5339d161 fix: update shige schema 4 months ago
href.js 346840e4b5 feat: gushi import tangshi300 4 months ago
import.js 346840e4b5 feat: gushi import tangshi300 4 months ago
package-lock.json 346840e4b5 feat: gushi import tangshi300 4 months ago
package.json 346840e4b5 feat: gushi import tangshi300 4 months ago

README.md

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

资料站点

数据范式 Shige

  • title:String 题目
  • author:String 作者
  • dyansty:String 朝代
  • content:Stirng 内容
  • intro:String 简介
  • yiwen:String 译文(古译今)
  • note:String 注释
  • review:String 赏析

任务1:爬取数据集,并形成Shige数组

纯前端DOM批量分析

  • 右键,分析目标站点,同类DOM值的selector特点

    • 选择器特征:.main-content内容区域所有的 a标签
    • 字符串特征:href="/gushi/shi/586.html"

      
      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

npm i cheerio -S

任务2:将数组批量导入系统

  • 参考代码:import.js
    • 实现href链接html数据获取
    • 通过cheerio进行DOM分析
    • 通过css selector标记准确字段
    • Parse.Query查重
    • Parse.Object保存