网络爬虫电影爬取的设计与实现的详细设计与实现主要是根据前面的网络爬虫电影爬取的设计与实现的需求分析和网络爬虫电影爬取的设计与实现的总体设计来设计页面并实现业务逻辑。主要从网络爬虫电影爬取的设计与实现界面实现、业务逻辑实现这两部分进行介绍。

  4.1注册用户功能模块

  4.1.1 前台首页界面

  当进入网络爬虫电影爬取的设计与实现的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是通知公告,其主界面展示如下图4-1所示。

   telegram 的官网地方在哪里

  图4-1 前台首页界面图

  4.1.2 用户注册界面

  网络爬虫电影爬取的设计与实现的游客和用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。注册用户注册界面展示如下图4-2所示。

  

  图4-2注册界面图

  用户注册的关键代码如下:

  def Register(self, ctx):

  print("===================注册=====================")

  userService = service_select("user")

  body = ctx.body

  if "username" not in body and body["username"] == '':

  return ctx.response(json.dumps({官方的telegram 网站的下载是什么

  "error": {

  "code": 70000,

  "message": "用户名不能为空",

  }

  }, ensure_ascii=False))官方telegram网站的下载地址在哪

  if "user_group" not in body and body["user_group"] == '':

  return ctx.response(json.dumps({

  "error": {

  "code": 70000,

  "message": "用户组不能为空",

  }

  }, ensure_ascii=False))

  if "password" not in body and body["password"] == '':

  return ctx.response(json.dumps({

  "error": {

  "code": 70000,

telegram的官网最新下载的网址怎么找  "message": "密码不能为空",

  }

  }, ensure_ascii=False))

  post_param = body

  post_param['nickname'] = body["nickname"] or ""

  post_param['password'] = md5hash(body["password"])

  obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

  if obj:

  return ctx.response(json.dumps({

  "error": {

  "code": 70000,

  "message": "用户名已存在",

  }

  }, ensure_ascii=False))

  ret = {

  "error": {

  "code": 70000,

  "message": "注册失败",

  }

  }

  bl = userService.Add(post_param)

  if bl:

  ret = {

  "result": {

  "bl": True,

  "message": "注册成功"

  }

  }

  return ctx.response(json.dumps(ret, ensure_ascii=False))

  4.1.3 用户登录界面

  网络爬虫电影爬取的设计与实现中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到网络爬虫电影爬取的设计与实现的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

  

  图4-3用户登录界面图

  用户登录关键代码如下:

  def Login(self, ctx):

  print("===================登录=====================")

  ret = {

  "error": {

  "code": 70000,

  "message": "账户不存在",

  }

  }

  body = ctx.body

  password = md5hash(body["password"]) or ""

  obj = service_select("user").Get_obj(官网的telegram的的最新下载网址

  {"username": body["username"]}, {"like": False}

  )

  if obj:

  user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

  if user_group and user_group['source_table'] != '':

  user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

  if user_obj['examine_state'] == '未通过':

  ret = {

  "error": {

  "code": 70000,

  "message": "账户未通过审核",

  }

  }

  return ret

  if user_obj['examine_state'] == '未审核':

  ret = {

  "error": {

  "code": 70000,

  "message": "账户未审核",

  }

  }

  return ret

  if obj["state"] == 1:

  if obj["password"] == password:

  timeout = timezone.now()

  timestamp = int(time.mktime(timeout.timetuple())) * 1000

  token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

  ctx.request.session[token] = obj["user_id"]

  service_select("access_token").Add(

  {"token": token, "user_id": obj["user_id"]}

  )

  obj["token"] = token

  ret = {

  "result": {"obj": obj}

  }

  else:

  ret = {

  "error": {

  "code": 70000,

  "message": "密码错误",

  }

  }

  else:

  ret = {

  "error": {

  "code": 70000,

  "message": "用户账户不可用,请联系管理员",

  }

  }

  return ctx.response(json.dumps(ret, ensure_ascii=False))

  4.1.4我的账户界面

  当用户点击右上角点击“我的账户”可以对个人的资料、登录系统的密码的信息进行设置管理,我的账户界面和密码修改界面如下图4-4和4-5所示。

  

  图4-4我的账户界面图

  

  图4-5密码修改界面图

  4.1.5 通知公告界面

  当访客点击网络爬虫电影爬取的设计与实现中导航栏上的“通知公告”后将会进入到该“通知公告”列表的界面,然后选择想要看的通知公告,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,通知公告界面如下图4-6所示。

  

  图4-6通知公告界面图

  4.1.6 电影资讯界面

  当用户点击“电影资讯”这一菜单按钮,会显示管理员在后台发布的所有的电影信息,支持通过关键词对电影进行搜索,选择需要的电影信息点击可以进入到电影信息详细的介绍界面,同时可以进行点赞、收藏等操作,电影资讯界面如下图4-7所示。

  

  图4-7 电影资讯详情界面图

  电影信息关键代码如下:

  WSGI_APPLICATION = "app.wsgi.application"

  DATABASES = {

  "default": {

  "ENGINE": "django.db.backends.mysql",

  "NAME": "project93355",

  "USER": "root",

  "PASSWORD": "root",

  "HOST": "127.0.0.1",

  "PORT": "3306",

  }

  }

  4.2管理员功能模块

  4.2.1系统用户管理界面

  管理员点击“系统用户”这一菜单会显示管理员、注册用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图4-8所示。

  

  图4-8系统用户管理界面图

  4.2.2电影信息管理界面

  管理员点击“电影信息管理”会显示出电影信息列表和电影信息添加,支持输入电影名称、导演名称等进行查询、重置、添加和删除的操作,还可以下载导入文档。如果想要添加新的电影信息,点击“添加”按钮,同时可以选择某一条电影信息,点击“删除”进行删除。电影信息列表和电影信息添加界面如下图4-9和4-10所示。

  

  图4-9电影信息列表管理界面图

  

  图4-10电影信息添加管理界面图

  电影信息添加关键代码如下:

  def Add(self, ctx):

  body = ctx.body

  unique = self.config.get("unique")

  obj = None

  if unique:

  qy = {}

  for i in range(len(unique)):

  key = unique[i]

  qy[key] = body.get(key)

  obj = self.service.Get_obj(qy)

  if not obj:

  error = self.Add_before(ctx)

  if error["code"]:

  return {"error": error}

  error = self.Events("add_before", ctx, None)

  if error["code"]:

  return {"error": error}
官方的telegram 下载方法是多少
  result = self.service.Add(body, self.config)

  if self.service.error:

  return {"error": self.service.error}

  res = self.Add_after(ctx, result)

  if res:

  result = res

  res = self.Events("add_after", ctx, result)

  if res:

  result = res

  return {"result": result}

  else:

  return {"error": {"code": 10000, "message": "已存在"}}

  4.2.3电影推荐管理界面

  管理员点击“电影推荐管理”会显示出电影推荐列表和电影推荐添加,支持输入电影名称和电影类型进行查询、重置删除的操作,如果想要添加新的电影推荐,点击“添加”按钮,同时可以选择某一条电影推荐类型,点击“删除”进行删除。电影推荐列表和电影推荐添加界面如下图4-11和4-12所示。

  

  图4-11电影推荐列表管理界面图

  

  图4-12电影推荐添加管理界面图

  电影推荐关键代码如下:

  def Del(self, ctx):

  if len(ctx.query) == 0:

  errorMsg = {"code": 30000, "message": "删除条件不能为空!"}

  return errorMsg

  result = self.service.Del(ctx.query, self.config)

  if self.service.error:

  return {"error": self.service.error}

  return {"result": result}

  4.2.4系统管理界面

  管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。轮播图管理界面如下图所示。

  

  图4-13 系统管理界面图

  4.2.5资源管理界面

  管理员点击“资源管理”菜单能够对其下子资讯列表和资讯分类进行增删改查。界面如下图4-14所示。

  

  图4-16 资源管理界面界面图

  5.1 系统测试用例

  系统测试包括:用户登录功能测试、用户注册功能测试、电影信息功能测试、电影推荐添加功能测试,如表5-1、5-2、5-3、5-4所示:

  用户登录功能测试:

  表5-1 用户登录功能测试表

  测试名称

  测试功能

  操作

  操作过程

  预期结果

  测试结果

  用户登录模块测试

  正确输入用户信息,用户成功登录

  输入用户的信息

  1.在密码框输入用户密码。2.点击登录

  跳转到首页

  正确

  用户注册功能测试:

  表5-2 用户注册功能测试表

  测试名称

  测试功能

  操作

  操作过程

  预期结果

  测试结果

  用户注册模块测试

  正确输入用户星系,完成用户注册

  输入用户的基本信息

  在注册页面填写用户相应的信息,然后点击“注册”按钮。

  提示成功并跳转到登录界面

  正确

  用户注册模块测试

  用户注册失败

  用户两次输入密码不一致

  用户在注册页面填写信息时不填写用户名然后点击“注册”按钮。

  注册失败提示用户名不能为空

  正确

  电影信息界面测试:

  表5-3 电影信息界面测试表

  测试名称

  测试功能

  操作

  操作过程

  预期结果

  测试结果

  电影信息功能模块测试

  电影信息正常的显示

  浏览电影信息

  在前台首页选择一个电影信息分类进入分类列表,然后选择一个事务类型息

  进入该电影信息界面

  正确

  管理员添加电影推荐测试:

  表5-4 管理员添加电影推荐测试表

  测试名称

  测试功能

  操作

  操作过程

  预期结果

  测试结果

  管理员添加电影推荐测试

  添加电影推荐成功的情况

  输入新电影推荐的基本信息

  后台选择“发布电影推荐务”选项,然后填写新电影推荐基本信息点击“添加”按钮

  新电影推荐添加成功

  正确中文的telegram 的的下载的地方在哪呢

  管理员添加电影推荐测试

  添加电影推荐失败的情况

  输入电影推荐基本信息不完全

  后台选择“发布电影推荐”选项,然后不完全填写电影推荐,点击“添加”按钮。

  对应信息框后出现提示请输入XXXX信息

  正确

  管理员添加电影推荐测试

  添加电影推荐失败的情况

  管理员在电影推荐框输入信息

  后台选择“发布电影推荐”选项然后再电影推荐务框输入非数字字符,点击“添加”按钮。

  添加失败,提示“添加失败!”

  正确

  5.2 系统测试结果

  通过编写网络爬虫电影爬取的设计与实现的测试用例,已经检测完毕用户登录功能测试、用户注册功能测试、电影信息功能测试、电影推荐添加功能测试,通过这4大模块为网络爬虫电影爬取的设计与实现的后期推广运营提供了强力的技术支撑。

seo