| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 编程爱好者周刊(第1期)-Python“定时天气预报”程序部署到远端服务器 -> 正文阅读 |
|
[Python知识库]编程爱好者周刊(第1期)-Python“定时天气预报”程序部署到远端服务器 |
编程爱好者周刊(第1期)-Python“定时天气预报”程序部署到远端服务器1、明确目标
2、分析过程step1首先,我们选取“中国气象局 ·天气预报”网站作为爬虫爬取信息的目标网站。
step2该网站没有robots协议,可以放心爬取。 step3我打开这个网站的时间为2021年7月30日,目前我所处的地点是江苏省南通市海门区,浏览器会根据目前你的ip地址自动定位到你所在的城市。 目标就是爬取当天的温度及天气状况,即下图中的"33℃/25℃"和"多云转阵雨"这两个数据。 step4检查该网页是动态网页还是静态网页。 检查方法:
如果preview里面呈现的内容和网页上看到的内容一致,那么就是静态网页;反之,则是动态网页。由上图可知,该网页为动态网页。 step5经过查找,我们发现所需的数据在XHR请求中,一层一层展开【data—daily—0—dayText/nightText/high/low】,便可得到我们所需的数据。 找到应访问的链接地址【https://weather.cma.cn/api/weather/view?stationid=】。 step6python代码实现。 需要requests模块,用来下载网页源代码。【非Python内置库,需pip install requests】 需要smtplib模块,用来连接服务器,发送邮件。【Python内置库】 需要email模块,用来自定义邮件内容。【Python内置库】 需要schedule模块,用来实现定时功能。【非Python内置模块,需pip install schedule】 需要time模块,用来检查部署情况时暂停。【Python内置模块】 step7将python程序部署到远端服务器。 3、Python代码实现QQ邮箱账号、QQ邮箱授权码、收件邮箱账号请自行填写!
4、部署到远端服务器服务器的购买及宝塔面板的安装此处省略。此处演示的服务器系统镜像为CentOs7.3。 step1桌面新建一个文件夹,将其命名为daily_weather。在里面新建一个.txt文件,把我们所需的python模块写入【requests、schedule】。将我们写好的天气预报.py程序拖入文件夹。【至于为什么要新建一个requirements.txt文件,请看step4的错误演示】 step2点击宝塔面板左侧的软件商店,在应用搜索栏里面搜索Python,安装Python项目管理器。 step3点击Python项目管理器右侧的设置按钮,选择版本管理,安装Python项目所需的Python版本。 step4点击宝塔面板左侧文件选项,进入根目录下的www文件夹。 注:文件夹放哪个目录都可,这边演示选择将daily_weather这一文件夹放入根目录下的www文件夹下。 点击上传—上传目录—选中daily_weather文件夹—上传。【此处daily_weather文件夹里面,我故意去掉requirements.txt文件,来给大家演示没有requirements.txt文件,接下来会发生什么】注:此时的daily_weather文件里面就一个天气预报.py文件。 上传后,www目录下多了一个daily_weather文件夹。 点击左侧的软件商店—点击上方"已安装"—点击Python项目管理器右侧的设置—项目管理—添加项目 填写以下信息—确定
目前,我们有两种解决方法,a.把刚才的requirements.txt文件上传到www目录下的daily_weather文件夹;b.取消勾选安装模块依赖。这边采取b方法作为演示。 注:采用a方法的话,上传操作完成后,添加Python项目—选择安装模块依赖—点击确定后,即完成项目的创建。无需再安装模块,Python项目管理器会根据requirements.txt文件里面列出的所需模块名,帮你自动安装好这些模块。 b方法(傻瓜式操作): 点击项目管理中刚添加的项目右侧的"模块"—输入模块名称requests—添加—输入模块名称schedule—添加。 点击已暂停—确定,开启项目。 效果图: step5验证部署是否成功,执笔于此的时间为18:48 进入www目录—daily_weather文件夹—天气预报.py,修改Python程序的定时为19:10,看看待会我的163邮箱能都收到天气预报提醒!【注:天气预报.py程序中收件人邮箱,我填的是163邮箱】 注:每次修改完定时时间,要重新启动一下项目。没重新启动项目会导致等会邮箱收不到天气预报!具体缘由有待考究! 静待19:10的到来!😄 注:天气预报.py程序中的填的password是qq邮箱授权码不是qq密码,是开启SMTP服务后,生成的授权码,详情请自行探究。 效果展示: 5、清晨天气预报修改定时执行时间为06:00,重新启动Python项目。 静待明早6点的天气预报!😄 6、参考资料python发邮件详解,smtplib和email模块详解 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 14:58:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |