python实训小队项目总结

  • 项目展示:
  • 项目总结:
    • 前端
    • 后端
    • 部署

项目展示:

主界面


注册界面

登陆界面

首页介绍



个人中心介绍


项目总结:

前端

  • 通过自己之前学的bootstrap导入再进行网页模板内容修改和排版,用前端bootstrap框架进行前端网页的编写还是比较轻松的。一开始较麻烦的是对于一些交互的处理,但写出一个大概,后面就可以根据着修改。
  • 难/疑点:运用模板得清楚其大概,有时候一些样式会被覆盖,要通过!import或者写在html的style中进行增加权重。
  • 新知识:以前都是用display进行一个页面内容的转变呈现。
    发现我的队友是直接另外弄了个页面把部分内容替换了,也挺好哈哈哈,少写了js,后端跳转直接。

后端

  • 运用的部分都是上课所教学的东西,进行修改,可直接使用
  • 难点/疑点:

1、对于空气质量数据的爬取,因为接口只有半小时更新一次,所以需要半或一小时遍历一次,把数据加入数据库。
问题:用scrapy框架进行爬取,直接在spider.py中添加死循环执行一次所有城市,sleep半个小时,但这样会使得程序一直不操作的死循环。
原因: 有可能是因为scrapy的运行流程,spider获取完url传过去,就被sleep了,后面调度器的运行和资源的获取都被停止了
尝试方法:
有个启动文件begin.py是用来启动scrapy框架运行的,所以就进行

import time
from scrapy import cmdline
while True:cmdline.execute("scrapy crawl air_spider".split())time.sleep(3600)

最后发现只执行了一次就停止了,所以就就建了一个

import os
import time
while True:os.system("python begin.py")time.sleep(3600)

疯狂套娃哈哈哈最后成功地定时执行爬取数据
2、改项目主文件夹名称的时候记得修改,要不运行会出错
settings.py下的

ROOT_URLCONF = '所改的文件名.urls'

3、从数据库取出来的数据转为json转为python数据进行处理成字典类型,最后传给前端

 data= serializers.serialize("json", Air_date.objects.filter(area=key))data= json.loads(data)

部署

  • 挺好的,一开始一窍不通,多看部署文档,多操作就知道哪些方面是需要改的,怎么去操作修改一些东西,再怎么去重启。一步一步地去操作。
  • 疑点/难点:

1、静态资源:
因为部署前有对静态资源,进行打包,在nginx配置文件静态文件路径也是该打包路径,所以与我们原来静态文件的路径不一样,需要对后端调用静态文件的代码路径进行修改。前端则不需要,因为django对前端路径的静态路径都进行固定配置了STATIC_URL,而STATIC_ROOT 是属于部署后对于静态资源的操作方面需要用的。

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'statics'),
)
MEDIA_ROOT = os.path.join(BASE_DIR, "statics/images")
STATIC_ROOT = os.path.join(BASE_DIR, "static_new/")

2、资源的权限问题:
有一些资源会出现权限不够,访问不到
用上老师教的办法进行权限的赋予

cd /usr/share/fonts/windows
chmod 755 *.ttf

3、python程序执行是在虚拟环境中,所以一些库的安装也要在虚拟环境中,一开始没注意就没进虚拟环境直接安装,后来一部署发现老是报模块不存在。

4、虚拟环境可以执行多个程序,部署项目进行访问就只能一个。所以我们实时更新的操作就是在后台运行爬取程序对程序进行不断爬取数据修改数据库,然后给项目访问使用。程序ctrl+z会挂起和暂停运行,所以需要进行以下操作,进行bg在后台运行
Ctrl + z之后的恢复
(1) CTRL+Z挂起进程并放入后台
(2) jobs 显示当前暂停的进程
(3) bg %N 使第N个任务在后台运行(%前有空格)
(4) fg %N 使第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作!

Scrapy运行流程
1、引擎打开一个网站,找到处理该网站的spider,向spider索要url
2、引擎从spider中获取第一个要抓取的url地址,并通过调度器以Request形式调度
3、引擎向调度器请求下一个要抓取的url地址
4、调度器返回下一个要抓取的url给引擎,引擎将url通过中间价转发给下载器下载
5、下载完成,下载器生成该页面的Response,并通过下载中间件发送给引擎
6、引擎从下载器中接收到Response,并通过蜘蛛中间件发送给spider处理
7、spider处理Response,返回抓取到的item以及新的Request给引擎
8、引擎将spider返回的item给管道,将新的Request给调度器
9、重复第二步到第八步直到调度器中没有更多的Request,引擎关闭该网站

python实训小队项目总结相关推荐

  1. Python实训day12pm【答辩要求、定时器】

    Python实训-15天-博客汇总表 目录 1.答辩安排 2.定时器 1.答辩安排 下午安排: 今天尽量地完成整个项目: 明天完成实训报告,制作小答辩PPT: 后天答辩. PPT要求: 时长5分钟左右 ...

  2. Python实训-15天-博客汇总表

    目录 1.课程安排 1.1.课程介绍 1.2.课程目标 2.课件 2.1.课件and录屏 2.2.练习and案例and作业 3.实训博客笔记 第1周-week1 day01 day02 day03 d ...

  3. 初学Python实训心得以及一个爬虫例子

    了解Python,学会Python,实战python 通过这次Python实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自我动手做项目的潜力.本次实训是对我潜 ...

  4. 大学python实训总结-千锋Python实训总结 学好基础才能走的更远

    时间飞逝,不知不觉在千锋学习Python已经一个月了,在这不长不短的一个月时间感觉我以往的生活方式和学习方式完全被改变了,希望我能继续保持这样的求学心态和学习态度.下面这个Python实训总结就是我对 ...

  5. Python实训day14pm【Python网络爬虫综合大作业-参考解析】

    Python实训-15天-博客汇总表 题目:天气数据的爬取和统计 大作业题目思路引导:定时爬取每个地级市的实时天气状况.存入excel中.为每个城市生成html展示.历史excel文件以每日为单位归档 ...

  6. Python实训day14am【Python网络爬虫综合大作业-答辩】

    Python实训-15天-博客汇总表 实训总结: 由浅入深的了解了python语言应用: 编写了很多案例,完成了发作业,提升了编程思路和能力: 了解了行业现状,认识到企业对人才的要求,去除焦虑,对后续 ...

  7. Python实训day13am【Python网络爬虫综合大作业PPT】

    Python实训-15天-博客汇总表   今天上午大家抓紧时间继续完成实训报告和PPT,有问题我会在群里跟大家说明, 暂时不用上线直播了. 实训结束后,我会在博客上发布网络爬虫综合大作业题目及解析.

  8. Python实训day12am【网络爬虫大作业简略解析:动态生成html页面、数据写入Excel】

    Python实训-15天-博客汇总表 目录 1.HTML页面设计 2.生成每个城市的HTML页面 2.1.HTML页面代码(weatherTemplate.html) 2.2.实例代码-动态生成htm ...

  9. Python实训day11pm【大作业简略解析】

    Python实训-15天-博客汇总表 目录 1.课堂笔记 2.群消息 3.代码 3.1.demo1 3.2.demo2 1.课堂笔记 大作业题目思路引导: 题目1:定时爬取每个地级市的实时天气状况.存 ...

最新文章

  1. CString初始化时提示字符串太大
  2. Sasha and Sticks
  3. 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
  4. 默认情况下在MongoDB Shell中漂亮打印
  5. Lua中ipairs和pairs的区别详解
  6. Spring MVC 解读——context:component-scan/
  7. 社交产品方法论(八):数据分析的二三事
  8. 3D Max2018安装教程
  9. NC文件数据提取完成(1.16)
  10. Windows如何设置右键快捷键
  11. 2019杭电多校训练营(第一场)
  12. 重磅!亚马逊创始人贝佐斯将于7月飞往太空,人类征服太空的野心从未停止!| 硅谷速递...
  13. 动态规划——钢条切割
  14. 数码管显示“0~F”的共阳共阴数码管编码表
  15. scp 使用用户名密码
  16. 【APP渗透测试】 Android APP渗透测试技术实施以及工具使用(客户端服务端)
  17. 登陆QQ时总显示QQ安全防护进程,而且点了确定后QQ还是登不上
  18. sqlserver 日期比较
  19. Human Body 身体部位名称
  20. 《Mysql是怎样运行的》读书笔记之成本的优化

热门文章

  1. 我们的征途是星辰大海 蓝桥杯 Java组
  2. CTO、技术VP、技术总监、首席架构师
  3. python以图搜图api_Python深度学习,手把手教你实现「以图搜图」
  4. Luogu P2327 [SCOI2005]扫雷
  5. oracle中的dual详解
  6. java.lang.NoSuchMethodException: com.cbb.qqzone.pojo.Topic.<init>(java.lang.Integer)
  7. 商用短链平台_第8章_ 账号微服务注册模块+短信验证码+阿里云OSS开发实战
  8. android 陀螺仪滤波_Arduino+mpu6050陀螺仪运用卡尔曼滤波姿态解算实验
  9. Sequence Model-week1编程题3-用LSTM网络生成爵士乐
  10. 研发管理学习笔记4-学习研发管理的51CTO视频课