全托管文章智能采集系统(一家极具 )

优采云 发布时间: 2022-04-02 22:05

  全托管文章智能采集系统(一家极具

)

  最近很可能会离开去加入一家很有挑战性的公司,时间和精力上会有比较大的调整。这个系统也是为了娱乐目的,但目的是绝对纯粹的。

  由于最初的计划时间,一切都简单快捷。主要特点如下:

  1.前端页面开发直接bootstrap 3.0 。后台管理页面也使用了基于bootstrap的UI框架。(基本复制)

  2. HtmlAgiltyPack 组件用于数据采集。

  3. 国际奥委会尝试了城堡。结合 CommonServiceLocator 开源组件。

  4.数据存储可以方便地在MongoDb和SqlServer之间切换(AppSettings.config的StoreProvider配置部分)。SqlServer 的数据供应使用 EntityFramework 的 Code First。MongoDb的C#驱动是官方的驱动包,简单封装了一个Helper。

  5. Log4Net 用于日志记录。

  6.评论系统直接嵌入了更多要说的内容,感觉还不错。找了半天,好像没有找到远程访问数据接口。

  7. 没什么好说的。

  本来应该在月底前完成的,但现在看来不可能了。只有在实际做的过程中,才发现需要解决的事情太多了。嗯,从侧面也反映出他的水平还是挺菜的。总结起来有以下几点需要改进(主要是后台管理):

  1.用户权限控制(超级管理员和普通管理员)。

  2、数据采集管理(类似于增量采集、定时采集、采集配置等)。

  3、后台管理页面导航菜单的控制(主要判断左侧菜单项的活跃度、面包屑导航的生成等)。

  4.影视的图片信息直接调用Http图片,无需本地存储(下载图片方便,恐怕需要单独的图片服务器)。

  5. 采集 提供程序使用多线程,但我对多线程了解不多。有时候好像出了什么问题……

  6、站点配置管理。这是一个页面、序列化和反序列化问题。但它只是没有发生。

  7、网站统计不完善。如日志记录、访客统计等。

  希望我能找到时间和精力在未来继续研究这些东西......

  好吧,我拍了几张照片发过来看看。

  项目结构*敏*感*词*:

  

  首页(采集三个类别:电影、*敏*感*词*、电视剧。出于测试目的,仅采集50个条目):

  

  这是详细页面:

  

  这是详细信息页面上的评论框。字幕信息请求是射手网的接口:

  

  这是后台管理页面:

  

  登录:

  

  锁定:

  

  视频管理列表页面:

  

  视频管理详情编辑页面:

  

  这是管理员管理页面(仅对超级管理员可见,但目前不进行此控制):

  

  管理员详情页面(管理员可以被锁定):

  

  我也简单地做了一个访客统计(统计中遗漏了很多东西):

  

  仅供初学者学习。项目托管地址为:

  补充:

  项目的数据存储可以在mongodb和sqlserver之间切换。其中,mongodb的数据库连接字符串为:

  我在开发的时候,配置了mongodb的权限,添加了用户名和密码。出于安全考虑,默认端口 27017 已修改为 27627。这些配置因个人需要而异。另外,我简单地写了一个脚本来启动mongodb数据库,位于Movi.RazorWeb/App_Data下的mongodb_data.txt。当然也可以直接添加为Windows服务随系统启动。脚本的内容是:

  start bin/mongod.exe --dbpath .\db --logpath .\log\log.log --auth --port 27627

start bin/mongo.exe --port 27627 -u admin -p admin --authenticationDatabase movi

  把上面的脚本存成bat格式,每次需要运行mongodb数据库的时候点一下。(当然,你要配置mongodb数据库来匹配上面脚本的内容)。关于mongodb配置的更多信息,请参考源代码项目Movi.MongoRepository下的db.txt文档。

  对于EntityFramework,代码优先的开发方式,除了配置正确的数据库连接字符串(这个没什么好说的),结合实际情况,结合nuget执行数据库initial或change命令。三个最常用的命令是:

  Enable-Migrations

  * 启动迁移功能,会在项目根目录下生成 Migrations 文件夹

  Add-Migration -StartupProjectName

* 在指定的项目中增加一个迁移点,此命令后会要求输入一个 Name 参数,此参数的值为迁移点名称

* 假设输入的迁移点名称为 init 则会生成一个类似如下的文件 201202290718442_init.cs,其包含两个方法 Up() 和 Down(),分别用于此迁移点的升级和降级

  Update-Database -StartupProjectName (将指定的项目的数据库结构升级到最新)

上述命令的执行方式为: 打开程序包管理器控制台,将默认项目选择为:Movi.EFRepository。另外,请将 Movi.EFRepository 设置为启动项目。

如遇错误,请自行上网查找资料解决。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线