精华内容
下载资源
问答
  • 文章首发于个人站点 Python 服务器端实现定时自动给女票发送贴心消息提醒 | 梦家博客...本文解决将脚本部署到服务器上实现每日定时自动发送微信消息提醒! 功能及消息内容 源码已公开至Github:dreamhomes/daily-lov...

    文章首发于个人站点 Python 服务器端实现定时自动给女票发送贴心消息提醒 | 梦家博客
    公众号:【DreamHub】

    上一篇博文 Python 实现给女朋友的每日微信消息提醒!做一个贴心的程序员!!! 中实现每日手动发送消息提醒,但这样太麻烦了!本文解决将脚本部署到服务器上实现每日定时自动发送微信消息提醒!

    功能及消息内容

    源码已公开至Github:dreamhomes/daily-love

    功能

    如果服务器端不知如何操作可以私信我哦!

    • 本地执行脚本run.sh,扫码登录微信自动定时发送(PS:如需每日定时自动发送不能关机!);
    • 部署到服务器上执行脚本run.sh实现自动定时发送微信消息;

    PS:最好采用一个小号发送消息,微信客户端和网页端不能同时登录

    内容包括但不限于:

    • 日期(阳历+阴历);
    • 每日壹句
    • 天气预报(内容来源中国天气网):
      • 天气情况;
      • 温度情况;
      • 穿衣指数;
      • 减肥指数;
      • 空气指数;
      • 紫外线指数;

    消息效果

    依赖包

    • requests==2.22.0
    • schedule==0.6.0
    • sxtwl==1.0.7
    • itchat==1.3.10

    执行流程

    1. 安装依赖包
      pip install -r requirements.txt
      
    2. 执行脚本
      ./run.sh
      
      修改run.sh参数:
      • -s:微信消息中包含的发送人名称;
      • -r:微信收件人微信昵称(注意不是备注名!);
      • -c:微信收件人所在城市对应的城市编码;
      • -t:微信消息提醒时间,默认为8:00
    3. 手机扫描终端显示的二维码登录!

    PS:城市编码在中国天气网 中自行查询;可在微信公众号【DreamHub】回复【daily】领取城市编码对应表格;)

    关注作者

    如果需要增加功能或存在任何问题请联系我!

    展开全文
  • 本地接口测试脚本运行顺利,决定部署到服务器端,部署中遇到问题: 先确保服务器端安装了对应的python3 把框架代码cp到服务器的某个文件夹下,runall.py尝试执行: 报错:自己编写的模块未定义 –> ...

    本地接口测试脚本运行顺利,决定部署到服务器端,部署中遇到问题:

    1. 先确保服务器端安装了对应的python3

    2. 把框架代码cp到服务器的某个文件夹下,runall.py尝试执行:
      报错:自己编写的模块未定义
      –> 解决办法:将文件目录加入到环境变量中
      a. vi /etc/profile
      b. export PYTHONPATH="/xxx/xxx/xxx:$PYTHONPATH"
      c. source /etc/profile

    其中,linux查看python安装路径的命令:whereis python
    打印PYTHONPATH的命令:print(os.sys.path)

    1. 重新 runall.py执行
      报错: HTMLTestRunner模块未定义
      –> 解决办法:将本地的HTMLTestRunner.py上传到服务器

    再次执行,可以成功,但是邮件还是无法成功发送出来,研究中。。。

    展开全文
  • 处理思路是先配置Linux发送邮件成功,或许Python发送邮件才能成功。 按照网上找的很多博客进行配置,看起来超级easy,自己搞起来就费时费力 ~~ “一看就会,一做就废”,真是放在各种地方都很适用啊。 先按照大...

    接上篇,一直研究在Linux环境下发送邮件失败的问题。
    处理思路是先配置Linux发送邮件成功,或许Python发送邮件才能成功。
    按照网上找的很多博客进行配置,看起来超级easy,自己搞起来就费时费力 ~~ “一看就会,一做就废”,真是放在各种地方都很适用啊。

    1. 先按照大部分博文进行配置
      –> Install sendmail
      –> vi /etc/mail.rc
      set from=xxxxxx@126.com
      set smtp=smtps://smtp.126.com:465 (25端口可能被禁,所以改用465)
      set smtp-auth-user=xxxxxxxx@126.com
      set smtp-auth-password=xxxxxxxx (126网易邮箱的授权码)
      set smtp-auth=login
      set ssl-verify=ignore
      set nss-config-dir=/root/.certs (虽然写入了,但是后面需要执行命令使其生效)
      –> 启用sendmail
      启动 /bin/systemctl start sendmail.service
      停止 /bin/systemctl stop sendmail.service
      查看状态 /bin/systemctl status sendmail.service
      –> 尝试发送邮件: 发送失败
      mail -s “hesaucaq” xxx@xx.com
      –> 查看邮件日志命令: vi /var/log/maillog

    2. 翻博客,可能需要修改hostname
      临时修改:hostname mail.xxx.com
      永久修改:vi /etc/sysconfig/network
      hostname=mail.xxx.com
      hostname mail.xxx.com
      /bin/systemctl restart sendmail.service

    3. 再次运行,还是失败
      –> 编辑mail.rc时,加了一句set nss-config-dir=/root/.certs ,但是事实上,路径下根本没有文件。手动创建并执行命令:

    mkdir -p /root/.certs/
    echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt
    certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
    certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
    certutil -L -d /root/.certs
    
    

    –> 保存并重新运行,邮件能发送了,但是还是有error:
    “Error in certificate: Peer’s certificate issuer is not recognized.”
    此时,进入到.cert路径下,运行命令:

    certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i 126.crt
    

    再次发送邮件,成功~ 发给不是126的邮箱号也是可以成功的。

    虽然问题解决了,但是过程还是不能说完全理解透彻。
    参考博客:
    https://blog.csdn.net/djhsun/article/details/78731683

    1. Linux自身发送邮件可以成功了之后,根据mail.rc的配置更改Python代码中的config文件内容,修改为对应的smtp为126,端口号为465,终于可以成功发送邮件了~
      But, 为何接收方也只能是126邮箱呢,其他邮箱就会发送失败…
      在这里插入图片描述
      在这里插入图片描述
    展开全文
  • 目前在理财通做定时自动化爬虫,之前完成的代码实现的部分,现在本地运行稳定后,就考虑将它部署到服务器,根据自己的定时任务在固定的时间自动启动抓取任务。 但是,由于自动化程序与平台兼容性有关联,有一些依赖...

    前言

    目前在理财通做定时自动化爬虫,之前完成的代码实现的部分,现在本地运行稳定后,就考虑将它部署到服务器,根据自己的定时任务在固定的时间自动启动抓取任务。

    但是,由于自动化程序与平台兼容性有关联,有一些依赖库在服务器运行需要做特殊处理

    本篇文章以一段 Selenium 编写的 Python 自动化程序,聊聊脚本部署服务器的详细过程

    操作步骤

    以 CentOS 服务器为例

    2-1  安装桌面环境

    PS:如果已经安装,可以跳到下一步

    我们需要先安装一个桌面环境「 以 GNOME 为例 」,设置以图形模式启动,并开启图形界面

    # 安装 GNOME 桌面环境
    yum groupinstall -y "GNOME Desktop"
    
    # 设置以图形模式启动
    systemctl set-default graphical.target  
    
    # 开启图形界面
    startx

    2-2  安装配置远程桌面

    以最常见的 VNC 为例

    首先,在服务器上安装 VNC Server,并设置登录密码

    # 安装vnc server
    yum install tigervnc-server -y
    
    # 设置登录密码,用于vnc viewer登录密码
    vncpasswd

    然后,启动 VNC Server,并开启对应的端口号

    # 开启VNC服务
    systemctl start vncserver@:1
    # 设置开机自启
    systemctl enable vncserver@:1    
    
    # 查看VNC服务的端口
    netstat -lnpt|grep Xvnc
    
    # 开启端口号
    firewall-cmd --add-port=5901/tcp --permanent
    firewall-cmd --reload

    最后,下载 VNC Viewer,使用「 IP 地址 + 端口号 + 登录密码 」远程连接服务器

    下载地址:

    https://www.realvnc.com/en/connect/download/viewer/

    PS:VNC Server 显式指定 IP 地址 + 端口号

    2-3  安装 Chrome 浏览器

    服务器默认安装的浏览器为 FireFox,Chrome 浏览器需要自己手动安装

    # 下载最新的Chrome浏览器
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    
    # 安装浏览器
    yum install google-chrome-stable_current_x86_64.rpm
    
    # 检查Chrome浏览器的版本
    google-chrome -version

    安装完成之后,发现使用 Root 用户启动 Chrome 浏览器失败PS:服务器 Chrome 浏览器不支持直接使用,需要以 --no-sandbox 参数启动

    # 以--no-sandbox方式启动Chrome浏览器
    # 方式一:命令行启动
    /usr/bin/google-chrome-stable --no-sandbox
    
    # 方式二:修改Chrome浏览器快捷图标的启动方式
    # 启动方式:--no-sandbox

    2-4  配置 Chrome Driver 及授权

    在官网下载 Chrome 浏览器对应版本的 Chrome Driver

    下载地址:

    http://chromedriver.storage.googleapis.com/index.html

    解压后,上传到服务器的「 usr/bin 」目录下

    最后,对 chromedriver 文件授予可执行的权限

    [root@localhost xh]# cd /usr/bin
    
    # 授予可执行的权限
    [root@localhost bin]# sudo chmod +x chromedriver 

    2-5  可视化运行测试

    将自动化脚本上传到服务器,设置以有头模式运行

    注意:由于服务器的 Chrome 需要配置以 no-sandbox 模式启动,因此自动化脚本需要添加设置属性

    option = webdriver.ChromeOptions()
    
    # 以无头模式运行
    #option.add_argument('headless')
    option.add_argument('no-sandbox')
    option.add_argument('disable-dev-shm-usage')
    option.add_experimental_option('useAutomationExtension', False)
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    browser = webdriver.Chrome(chrome_options=option)

    「 有头模式 」测试运行正常后,就可以开启「 无头模式 」,编写定时任务,将自动化脚本与定时任务关联上

    结语

    文中以 Selenium 自动化脚本部署服务器的步骤流程进行了阐述

    需要指出的是,服务器上的可视化调试测试确实很有必要,它可以帮助我们提前定位兼容性问题

    部署线上可以也试试宝塔centos,人性的可视化界面,还有python项目管理器

     

     

    展开全文
  • Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开始学习,所以需要给服务器配置一个python3环境,一番摸索过后,踩过...
  • Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开始学习,所以需要给服务器配置一个python3环境,一番摸索过后,踩.....
  • 服务器运行python脚本,如果你按了ctrl+c或者关闭了这个ssh终端 你的这个脚本就会停止!所以你需要以后台程序的方式执行 你的这个Python脚本,可以使用nobup命令。 键入这样的命令: nohup python3 -u xxx.py > ...
  • 最近使用Python写了个小脚本,本地可以运行了,但是,如何把python脚本部署到Linux环境的服务器上呢? 废话不多说,直接上干货~~~ 2 安装Python3环境 2.1 安装所需的编译环境 执行命令: yum install zlib-devel ...
  • @利用python脚本实现windows上传部署tomcat 利用python脚本实现windows上传部署tomcat 第一次记录,主要是利用一个python脚本 从windows复制文件上传 然后重启tomcat 主要用到了paramiko os 两个库 文件上传模块 不...
  • Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案 https://blog.csdn.net/qq_42353939/article/details/94609591 目录 第一步:下载安装包 第二步:执行安装 1、创建存放目录 ...
  • 在LINUX服务器后台运行python脚本

    千次阅读 2017-09-27 15:51:44
    在LINUX服务器后台运行python脚本部署后台运行并输出信息文件命令详解具体的参数含义如何关闭不可见进程–后台进程初入linux, 借鉴大神文章,供以后查看与学习。
  • (2) 登陆到部署有网站源码的线上服务器 (3) cd项目根目录, 执行git pull指令拉取最新代码 整个流程纯手动更新,每次耗时在1分钟左右, 这样一天下来,浪费了很多时间在这些琐碎的事情上. 现在的需...
  • 说明:该脚本实现将本地的项目工程包远程发送远程服务器上.并将老版本的项目备份,上传新的项目,本脚本的中的项目自动项目自身的启动脚本.#!/usr/bin/envpython #coding:utf-8 #AuthorSummer #Createdate:2015-07-29...
  • Python脚本环境搭建在做一个前后端分离项目,我负责前端部分代码,每次更新完代码,需要npm run build然后把生成的文件通过WinSCP手动部署到远程服务器上。每次这样搞,挺麻烦的,所以打算写个python脚本,每次更新...
  • python 文件自动配置&部署脚本

    千次阅读 2016-11-21 19:18:31
    python 写了个修改环境配置,自动部署到服务器脚本
  • 所以需要将脚本部署到CentOS服务器,并设置定时任务,自动启动脚本。 实施步骤如下: 1.安装pip(操作系统自带了python2.6可以直接用,但是没有pip) # 下载pip安装包 wget ...
  • 这是一个自动部署python脚本,只需要在windows点一下bat文件,即可启动,支持配置多个环境。
  • 非框架爬虫代码部署到服务器步骤 Python Linux环境安装、爬虫脚本部署和定时执行爬虫脚本 一、Linux环境下安装python 1、下载python Linux安装包,最好和Windows版本一样 wget ...
  • 昨天我们写可以用python向手机发送短信,但是内容空洞,今天我就教大家将每日天气用短信定时发送手机。 如下图: 首先先获取天气信息,这里我用的是 tianqi.com 这个网站,进入网站输入自己地区,图中...
  • 但是主节点一件部署到第四步骤卡住,提示删除zookeeper节点成功之后就一直卡住。但是我用我带python2环境的服务器部署后端脚本就成功了,上次的解答没有用。</p><p>该提问来源于开源项目:apache/...
  • 在实际项目实施中,会编写很多在服务器执行的作业脚本。程序中凡是涉及数据库链接、操作系统用户链接、IP地址、主机名称的内容都是敏感信息。在纯内网系统中往因为开发时间紧迫,往往都直接将这些敏感信息明文方式...
  • 测试脚本 # !/usr/bin/python # -*- coding:utf-8 -*- import sys sys.path.append("..") from utils.Util_configparser import ConfigUtils def alam(): print("alam") if __name__ == '__mai...
  • 部署.py脚本到linux服务器的时候,我们经常想把后台脚本输出(程序print)的内容存日志里。首先.py后台运行的2个方法:1. nohupnohup python -u MainServices.py &gt;&gt; services.log 2&gt;&...
  • :每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞。 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一个脚本实现自动化部署,正巧最近在学习python,就用...
  • #!/usr/bin/python # coding:utf-8 import paramiko from scp import ...import paramiko # paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接;此模块需要pip i
  • 通过API接口(而不是爬虫)获取实时AQI气象数据(PM2.5,PM10等),并将该脚本部署到远程Linux服务器上自动获取数据。 数据源:pm25.in 该网站每小时更新一次气象数据,指标包括AQI、空气质量、主要污染物、pm2.5、...
  • 脚本托管在AWS Lambda和部署使用无服务器架构- 注意:无服务器构建和部署必须在Amazon Linux计算机上完成。 要设置新的构建环境: 构建机器必须是Amazon Linux 安装Docker 安装Git 安装节点 无服务器安装 ...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 285
精华内容 114
关键字:

python脚本部署到服务器

python 订阅