C# NetCore使用AngleSharp爬取周公解梦数据 原由和页面数据拆解

 

原由

  最近忽然心血来潮想作个小程序,学习一下小程序开发流程,而后新手就想作个查询的就能够了,少点交互能力,这种思来想去仍是周公解梦比较靠谱,mysql

网上一搜,还真有小程序源码,可是这里面彷佛数据都是取第三方api的或者固定死的演示数据,或者残缺不全的数据,而后csdn上面竟然还有积分下载周公程序员

解梦数据的,评论都是说数据不全的,我这个脑子啊,这我就不肯意了,我要就要最全的,搞出来我也分享一下数据。。。。。。(实际上是不是仍是拖延症啊sql

不想学习小程序!!!)数据库

  而后网上搜了一下周公解梦,目前有一家数据是比较全的,并且页面结构是比较清晰的,多是有程序员在维护。。。锁定数据源xzw。com 固然,若是小程序

这种行为侵犯了xzw权益,请联系我删除。api

言归正传

  下面开始访问数据站,结构仍是挺清晰的,梦的类别 梦的名称 里面的子项 及简介,咱们大体能够设计一个表出来了nosql

  

  咱们再点击进去看一会儿项的内容,原来子项的内容都是依赖于外层的“孕妇”,这里我使用的是mysql数据库存储,学习

其实这种结构彷佛更适合存储为nosql数据库,不纠结于这个,最多加个外键就OK。编码

  

可能初步的表是这样的url

Dream表

Id 自增列
Name 梦的名字 例如 “孕妇”
Summary 简介  这是搜索列表最外层的那个简介
CateName 分类名称 总分类可能就那固定的几个,咱们这里只保存名称就行了
CreateTime  附属属性
Url 详细页面地址(这个是在下面会作说明)

 

 

 

 

 

 

 DreamInfo表

Id  自增列
FkDreamId   Dream表主键
DreamName Dream表Name  例如 孕妇,为了避免重复查询直接id和name都保存
Name 梦的详细名称,例如 未婚女人梦见孕妇
Content 梦的详细内容
CreateTime 附属属性,时间

 

 

 

 

 

 

 

分解页面结构

而后开始咱们的页面分解之路,这个页面咱们能够拿到  DreamName 还有Dream Summary 后面还要进入详情页绑定内容创建从属关系,

那么保存下这个详细页面的url,供咱们第二次爬详细页面的时候使用,因此才会有上面dream表里的url字段,边发现边修改。

  

具体思路就有了,先获取分类下的名称信息、简介以及详情页url信息,下面有翻页,仍是老规矩 递归翻页直到结束。

再来看看翻页,发现翻页这个地方,这里有个下一页的按钮,那么这个是否是就能够一直往下翻页了呢,咱们就用它了。完美

 

 

总结

  感受本身脑壳乱糟糟的,没有固定的想法,可能一个想法牵扯出来多个想法,忘记本身第一个想法是什么了,感受这种思惟很可怕,咸鱼通常的感受。

下一章开始详细编码。。。

相关文章
相关标签/搜索