起因

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

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

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

不想学习小程序!!!)

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

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

言归正传

  下面开始访问数据站,结构还是挺清晰的,梦的类别 梦的名称 里面的子项 及简介,我们大致可以设计一个表出来了

  

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

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

  

可能初步的表是这样的

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信息,下面有翻页,还是老规矩 递归翻页直到结束。

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

总结

  感觉自己脑袋乱糟糟的,没有固定的想法,可能一个想法牵扯出来多个想法,忘记自己第一个想法是什么了,感觉这种思维很可怕,咸鱼一般的感觉。

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

C# NetCore使用AngleSharp爬取周公解梦数据 起因和页面数据拆解的更多相关文章

  1. C# NetCore使用AngleSharp爬取周公解梦数据

    这一章详细讲解编码过程 那么接下来就是码代码了,GO 新建NetCore WebApi项目 空的就可以 NuGet安装 Install-Package AngleSharp 或者界面安装 using. ...

  2. Python爬取网上车市[http://www.cheshi.com/]的数据

    #coding:utf8 #爬取网上车市[http://www.cheshi.com/]的数据 import requests, json, time, re, os, sys, time,urlli ...

  3. bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】

    介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...

  4. C#使用phantomjs,爬取AJAX加载完成之后的页面

    1.开发思路:入参根据apiSetting配置文件,分配静态文件存储地址,可实现不同站点的静态页生成功能.静态页生成功能使用无头浏览器生成,生成之后的字符串进行正则替换为固定地址,实现本地正常访问. ...

  5. 几句简单的python代码完成周公解梦功能

    <周公解梦>是靠人的梦来卜吉凶的一本于民间流传的解梦书籍,共有七类梦境的解述.这是非常传统的中国文化体系的一部分,但是如何用代码来获取并搜索周公解梦的数据呢?一般情况下,要通过爬虫获取数据 ...

  6. APISpace 周公解梦API接口 免费好用

    <周公解梦>,是根据人的梦来卜吉凶的一本解梦书籍,它对人的七类梦境进行解述.   周公解梦API,周公解梦大全,周公解梦查询,免费周公解梦.   APISpace 有很多免费通用的API接 ...

  7. 猫眼电影爬取(二):requests+beautifulsoup,并将数据存储到mysql数据库

    上一篇通过requests+正则爬取了猫眼电影榜单,这次通过requests+beautifulsoup再爬取一次(其实这个网站更适合使用beautifulsoup库爬取) 1.先分析网页源码 可以看 ...

  8. python爬取返利网中值得买中的数据

    先使用以前的方法将返利网的数据爬取下来,scrapy框架还不熟练,明日再战scrapy 查找目标数据使用的是beautifulsoup模块. 1.观察网页,寻找规律 打开值得买这块内容 1>分析 ...

  9. selenium跳过webdriver检测并爬取淘宝我已购买的宝贝数据

    简介 上一个博文已经讲述了如何使用selenium跳过webdriver检测并爬取天猫商品数据,所以在此不再详细讲,有需要思路的可以查看另外一篇博文. 源代码 # -*- coding: utf-8 ...

随机推荐

  1. USB 3.0规范中译本 附录

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 附录A 符号编码   表A-1显示了对于数据字符字节到符号的编码. 表 A-2显示了对于特殊符号的编码. R ...

  2. IAdjustCountOption--动态设置recycleView的itemCount(不须要改动数据源)

    概述 RecycleViewUtil是新增的一个主要针对RecycleView的一个工具类.该工具类中提供了部分RecycleView可能会使用到的方法,当中也包含了一些用来增强HeaderRecyc ...

  3. ### Hibernate中的事务与并发 ###

    **事务相关的概念** 1. 什么是事务 * 事务就是逻辑上的一组操作,组成事务的各个执行单元,操作要么全都成功,要么全都失败. * 转账的例子:冠希给美美转钱,扣钱,加钱.两个操作组成了一个事情! ...

  4. https://sourceware.org/gdb/onlinedocs/gdb/Forks.html

    https://sourceware.org/gdb/onlinedocs/gdb/Forks.html Next: Checkpoint/Restart, Previous: Threads, Up ...

  5. Java中a=a+b 与 a+=b差别

    一般觉得a=a+b的运行效率是低于a+=b的,由于它多进行了一步中间变量的操作,并且会多占用一个变量的空间.而Java编译器默认对其进行了优化,优化之后两条语句都当做 a+=b来运行了,所以实际上是没 ...

  6. Rational Rose2007无法正常启动解决方式

    安装完Rational Rose发现无法正常启动,我遇到了下面两个问题,希望能帮到同样经历的同学. 问题一: 安装完Rational Rose后不能用,提演示样例如以下:无法启动此程序,由于计算机中丢 ...

  7. thinkphp5多级控制器是什么?怎么使用?

    thinkphp5多级控制器是什么?怎么使用? 一.总结 1.多级控制器是让控制器的级数变成多级,也就是controller目录下可以新建其它目录. 2.使用的话注意目录下的控制的的命名空间(加上目录 ...

  8. 学习JS的这些日子——十二月总结

    事实上非常想早就发表这篇十二月份的总结了,可是一直拖拖拉拉没有完毕.一直在想2015年都过去了,该不该再去 写这一篇2015年最后一个月的总结.还有就是2015年的年终总结能否够取代十二月的总结,后来 ...

  9. ITFriend创业败局(序):简要概述我的第一次创业经历

    是时候, 面对过去,继续踏上未来之路了.    是时候,该给自己一个交待了,给ITFriend创业合伙人.ITFriend用户.关注我的朋友和网友们一个答复了.    是时候,全面认真总结过去的经历. ...

  10. scala 伴生对象与伴生类

    package cn.scala_base.oop.scalaobject import java.security.cert.Extension /** * object的构造器必须是无参的,且且构 ...