这篇文章并不是一个教程,仅仅是为告诉初学者用python做一件有实际意义的事情很简单,一个只要稍微懂一点电脑知识的人都应该能看懂。

这个程序思想很简单,就是监控一个网站是否在运行,如果停止了就启动它。

顺便说一句,为了更易于理解,以下的操作建议都在windows系统上运行即可。

1、安装python
python安装包有很多,推荐使用 Anaconda,只要下载安装包即可,按一般程序运行即可。
最新的版本,安装完成后,建议顺便安装VSCode作为编辑器。
参考文章:
python神器——Anaconda的安装与优化配置
安装后,就有 一个Anaconda Prompt 程序,用来启动python 运行环境。


2、安装Django
Django 是Python的Web框架,比较好用,我们就用它来搭建网站,并说明网站的启动和运行。
安装第1步的环境后,安装Django就很简单。
打开Anaconda Prompt,运行pip install django 就可以了,
安装完成后,运行命令 django-admin startproject root, 就会在当前路径下建立目录 root
此时在root 目录下运行 python manage.py runserver , 一个网站就搭建好了。
上述几个步骤和结果可见下图。




需要详细钻研,可以参考这篇文章(网上一大把)
Python Django的安装配置

3、监控网站运行并在不运行时启动它
这个过程也很简单,就是二件事:
(1)检测网站是否在运行
用 requests.get(url,timeout=1) 函数,如果在运行,就会返回200代码,出错则表明网站不在运行。
(2)不在运行时启动运行网站,也是一个语句
os.system(‘python manage.py runserver’)

能够如此简单实现,是因为python集成了大量的库,所以就可以直接调用其功能。
这里就是用了 requests 和 os 两个库。

后面的事情,可以用一个死循环让这个程序一直运行,
另外一种简单办法是在windows任务中加入计划,每小时运行一次 python testurl.py

补充说明一点,就是这个环境和代码最好与网站部署在一起,这样,就保证不会因为网络等问题引起误判,同时也是可以在本地启动网站。

代码如下(testurl.py):

#!/usr/bin/env python
# coding=utf-8
import requests
import os  # 后续使用
import numpy as np  #后续使用def getHTMLtext(url):try:kv={"user-agent":"Mozilla/5.0"}r = requests.get(url,timeout=30,headers=kv)r.raise_for_status()r.encoding = r.apparent_encoding# print(r.status_code)return r.textexcept:return "[00000000]"# url = 'http://127.0.0.1:8000'
urls =['http://127.0.0.1:8000','https://www.baidu.com,'ww.bd.com']
for url in urls:t = getHTMLtext(url)print(t[0:80])

一个简单的python例子(监控网页是否运行)相关推荐

  1. 轻松创建nodejs服务器(1):一个简单nodejs服务器例子

    这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下 我们先来实现一个简单的例子,hello world. ...

  2. 一个简单的python爬虫程序

    #简介 在每次论文被拒再投的过程中,都需要查询最近的与自己论文相关的会议列表.每到这种情况,我一遍采用的是遍历会伴www.myhuiban.com的网站,然后逐个查看会议,关注的有三点,投稿日期,cc ...

  3. mvc登录实例 mysql_spring mvc + mybatis + mysql 调整的一个简单的登录例子

    spring mvc + mybatis + mysql 整合的一个简单的登录例子 今天用spring跟mybatis整合写了一个简单的登录例子,第一次整合,给自己做个笔记,可能注释写的有点少,做的不 ...

  4. 如何搭建python框架_从零开始:写一个简单的Python框架

    原标题:从零开始:写一个简单的Python框架 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 你为什么想搭建一个Web框架?我想有下面几个原因: 有一个 ...

  5. php和python写爬虫-一个简单的Python写的XML爬虫

    一个简单的Python写的XML爬虫 来源:程序员人生 发布时间:2013-11-06 16:22:29 阅读次数:1578次 原理很简单,读XML结构,返回值,判断,根据返回的值得到下一个XML的地 ...

  6. boost::log模块实现一个简单日志的例子

    boost::log模块实现一个简单日志的例子 实现功能 C++实现代码 实现功能 boost::log模块实现一个简单日志的例子 C++实现代码 #include <boost/log/tri ...

  7. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

  8. 一个简单的python日志服务器

    一个简单的python日志服务器,主要目的是搜集各python logging记录的日志,将其简单汇总.源码如下: # -*- coding: utf-8 -*- ''' Created on 201 ...

  9. 一个简单的CORBA例子

    因为对CORBA分析的需要,这里写一个简单的CORBA例子.从JDK1.2开始,JDK中集成了ORB的实现,本例子使用了JDK1.7,对于JDK1.2+应该都没有问题.这个例子实现一个简单的加减乘除的 ...

  10. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

最新文章

  1. 百度研究院再升级,迎来9位世界级科学家
  2. 炒菜机器人煎鸡蛋视频_我的生活小技巧,今天才发现鹅油那么好用,炸鸡蛋炸豆腐都挺好...
  3. KDTable的列绑定F7控件方法
  4. 为人处事100条——修身养性,经典收藏!
  5. 《转》从程序员到项目经理(五):不是人人都懂的学习要点
  6. VisualStudioCode插件下载
  7. C#winform实现鼠标响应左键按下,并记下其坐标
  8. 国内程序员最容易发音错误的单词集合
  9. 单行横向滑动的日历calendar控件
  10. 湖仓一体在金融科技行业的实践
  11. 基于EEG信号与面部表情的连续情绪识别
  12. c语言英文版孤独怎么说,孤独的伤感的英文句子
  13. qt中的enter键
  14. C#入门学习——飞行棋
  15. UV滚动+自定义光线高光+LightMap阴影贴图+法线贴图效果shader
  16. java日志框架详解
  17. 基于最小割的分割算法(Min-Cut Based Segmentation)
  18. metaRTC实现安卓webrtc推流直播
  19. 人脸识别-Haar级联
  20. 神州数码易拓TIPTOP ERP集成扫描仪、高拍仪程序

热门文章

  1. C 语言中 scanf() 的用法
  2. 软件测试缺陷报告的5c标准
  3. 学习笔记:弱监督学习-valse青年会议
  4. chrome浏览器使用console代码让115网盘免扫二维码登陆
  5. 噪声与振动控制工程手册_轴承噪声种类大全!领取实用轴承手册
  6. Loongson2f_龙芯逸珑8089A_扩容硬盘安装debian8(sd卡扩容)
  7. combobox实现模糊搜索匹配
  8. 大众点评网根据关键词和城市id返回搜索结果-爬虫源码示例
  9. linkboy带你点亮LED创意世界
  10. 【3D Max】3D max如何删除环境贴图