神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

爬取简书全站文章并生成 API

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

1. 网页源码分析:

以下是简书首页文章处的源码:

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

若文章没有被打赏过,则“打赏”在网页源码中不会存在,代码中会进行处理,剩下的都会存在,但在爬取“热门”目录下的文章时,“阅读数”,“评论数”,“喜欢” 也会出问题,所以代码中也都做了相应的处理。这篇文章分享之前我还是要推荐下我自己的Python学习交流群:103456743不定期分享干货,包括我自己整理的一份2018最新的Python资料和零基础入门教程,欢迎各位小伙伴。

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

简书各个目录代码格式相同,所以相同的方法也可以爬取简书其余几个分类目录。

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

6. 部署上线

  • 使用 nginx + uwsgi + django + supervisor 进行环境部署

    或者

  • 使用 docker 进行环境部署

  • 已经介绍了简书网站的结构,爬取文章前对网页源码进行必要的分析,以及整个项目的步骤,开始介绍如何爬取简书分类目录下的文章,

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    开始写 models:

    此 API 的设计是模仿知乎日报 API 的形式,models 分两层,第一层是概要信息,第二层是详细内容,以概要信息作为外键。

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    爬取文章详细信息代码:

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    代码运行结果:

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    已经提到过,“热门”目录和“新上榜”目录下代码的结构相同,所以以上代码稍作修改完全可以爬取“热门”下的文章,但我将“热门”下爬取到的文章放在了一张表里,大家可以自行尝试。

    前面介绍了从分析网页源码到爬取文章并将其保存在 MySQL 中的过程,如有不明白的,请务必看完前几节的介绍:

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

  • 编写 models:存储数据使用的字段

  • 编写需要进行序列化的字段:将字段序列化为 JSON 的形式输出

  • 编写 views:对数据进行的各种存取操作

  • 编写 URL:访问 API 所使用的 URL

  • models 在上一节中已经写好,此处不再赘述。

    编写需要进行序列化的字段

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    编写 views

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    ReadOnlyModelViewSet 自动提供了“只读”方法,然后按时间排序取出数据库中相应数量的文章。

    编写 URL

    使用 Router 类可以自动生成 URL,我们需要做的仅仅是正确的注册 View 到 Router中:

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    再次访问 api 界面 http://222.24.63.118:8080/。

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    就已经可以爬取简书全站的文章做成 API,并且可以部署上线了。但是我对 Docker 这个很火的东西非常感兴趣,前段时间学了 Docker 的基本操作,正好可以用上。这也时我第一次用 Docker 部署 Django 应用,若有不正确的地方,还望指出。

    使用 Docker 部署 Django 应用程序

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    到此,所有容器的创建过程都已经了解清楚,所有文件的目录树如下所示:

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    谢谢阅读!

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪

    如有侵权请联系小编删除!

    神级程序员让你见识下什么才是企业级项目!通过这个拿到20K月薪