51Testing软件测试论坛

标题: 大神带你开发Web平台之图书信息 [打印本页]

作者: 草帽路飞UU    时间: 2022-10-24 14:10
标题: 大神带你开发Web平台之图书信息
在前四篇文章中,我们主要讲了开发Web平台之环境准备、登录认证、用户信息管理、接口文档


  接下来,我们将分几篇文章来实现对图书的增删改查功能,主要的功能如下:


  1.增:新增图书信息


  2.删:图书下架


  3.改:图书信息的修改


  4.查:图书信息的获取


  而在本篇中主要介绍图书信息的采集和展示,也就是增删改查中的查询功能。需要实现以下功能的开发:


  1.豆瓣图书的爬取和存储


  2.豆瓣图书展示功能的前端实现


  3.豆瓣图书展示功能的后端实现


  4.豆瓣图书展示功能的前端修改


  (一). 你愿意手动造“轮子”吗?


  首先来思考个问题,如果你是一个测试开发,某天要实现这样一个常规的功能,你会按部就班的手动去写代码吗?对于日常开发来说,时间无疑是非常紧迫的,在这样一个环境下,能手动拷贝的就不要手


动去敲,所以正如我上文说的那样,能做CV工程师就做CV工程师,把更多的时间腾出来实现更具挑战性的工作。

  我们选择去网上找,如果你打开gitee或者github,会看到非常多的豆瓣爬虫项目,这里面的选择空间很大,根据开发语言、star、以及你最终想要实现的效果来筛选,就让我们一步步开始吧。


  (二). 爬虫工程的创建


  1.在D盘下创建一个空的目录叫crawler,在这个目录下打开cmd,然后使用git clone

  https://gitee.com/jykgl/python-crawler-django-project.git
将项目克隆下来。

[attach]144163[/attach]


2.使用pycharm打开python-crawler-django-project这个目录,这个爬虫项目就加载出来了。


[attach]144164[/attach]

(三). 爬虫工程的介绍

  1.topbook:这是一个django项目,它的结构主要是:

  app:子应用,下面有模型类models,子路由urls,视图类views等


  static:静态目录,主要存放css、js等静态文件


  templates:模板目录,下面主要存放html页面


[attach]144165[/attach]


这是一个前段后不分离的项目,因此你会看到html文件里使用了很多模板变量。

[attach]144166[/attach]


对于这个项目,我们只需要使用到里面的模型类对象,其他我们用不到,因为我们自己的图书web系统会实现和它同样的功能。

[attach]144167[/attach]


2.douban:这是一个使用Scrapy框架实现的豆瓣爬虫项目,在这个项目里,我们只需要修改下pipelines.py中的数据库配置方式,将这里的数据库配置改为我们自己的图书web系统的数据库,然后执行后,


爬取豆瓣的数据会落入对应的数据库。

[attach]144168[/attach]

(四). 爬虫工程依赖的安装

  这里根据作者README.md里面的内容,依次安装好这些依赖:pypiwin32,lxml,twisted,scrapy,Microsoft Visual C++ 14.0以上 编译环境 数据库连接模块,pymysql, django框架,数据库操作


的库mysqlclient,这里不做详述,但建议使用pipenv做好环境隔离,避免冲突。











欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2