当前位置: 首页 > wzjs >正文

网站视频主持人网网站建设教程 零基础

网站视频主持人网,网站建设教程 零基础,网上注册公司价格,企业级网站开发需求分析有没有一种办法可以让我通过网页就能够实时查看远程电脑的程序运行情况呢?为此,我想到了利用python的Flask制作一个网页,然后通过cpolar,转变成一个互联网的网页,方便随时了解电脑的程序运行情况,比如百度网…

有没有一种办法可以让我通过网页就能够实时查看远程电脑的程序运行情况呢?为此,我想到了利用python的Flask制作一个网页,然后通过cpolar,转变成一个互联网的网页,方便随时了解电脑的程序运行情况,比如百度网盘下载多少文件了,python数据处理是否完成等等。

1.flask服务端:

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 17 20:52:47 2025@author: YBK
"""from flask import Flask, render_template, send_file
import pyautogui
import os
import timeapp = Flask(__name__)@app.route('/')
def index():return render_template('jp.html')@app.route('/screenshot')
def take_screenshot():screenshot = pyautogui.screenshot()screenshot_path = os.path.join('static', 'screenshot.png')screenshot.save(screenshot_path)return send_file(screenshot_path, mimetype='image/png')@app.route('/switch_window')
def switch_window():pyautogui.hotkey('alt', 'tab')time.sleep(0.5)  # 等待窗口切换完成return 'OK'@app.route('/switch_window1')
def press_win_1():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('1')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_window2')
def press_win_2():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('2')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_window3')
def press_win_3():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('3')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_window4')
def press_win_4():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('4')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_window5')
def press_win_5():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('5')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_windowd')
def press_win_d():try:pyautogui.keyDown('win')time.sleep(0.1)  # 确保Win键按下pyautogui.press('d')pyautogui.keyUp('win')return 'OK'except Exception as e:print(f"操作失败: {str(e)}")return 'Err'@app.route('/switch_ct')
def switch_ct():pyautogui.hotkey('ctrl', 'tab')time.sleep(0.5)  # 等待窗口切换完成return 'OK'@app.route('/switch_csi')
def switch_csi():pyautogui.hotkey('ctrl', 'shift', 'i')time.sleep(0.5)  # 等待窗口切换完成return 'OK'
if __name__ == '__main__':app.run(host='127.0.0.1',debug=True,use_reloader=False)

2.放在templates的网页jp.html

<!DOCTYPE html>
<html>
<head><title>远程桌面控制</title><style>#image-container {width: 800px;height: 600px;border: 1px solid #ccc;margin: 20px auto;}#screenshot-img {max-width: 100%;max-height: 100%;}.button-container {text-align: center;margin: 20px;}button {padding: 10px 20px;margin: 0 10px;font-size: 16px;}</style>
</head>
<body><div class="button-container"><button id="screenshot-btn">截屏</button><button id="switch-btn">切换</button><button id="switch-btn1">Win+1</button><button id="switch-btn2">Win+2</button><button id="switch-btn3">Win+3</button><button id="switch-btn4">Win+4</button><button id="switch-btn5">Win+5</button><button id="switch-btnd">Win+D</button></div><div id="image-container"><img id="screenshot-img" src="" alt="截屏将显示在这里"></div><div class="button-container"><button id="switch-btnct">Ctrl+Tab</button><button id="switch-btncsi">Ctrl+Shift+I</button></div><script>document.getElementById('screenshot-btn').addEventListener('click', function() {fetch('/screenshot').then(response => response.blob()).then(blob => {const img = document.getElementById('screenshot-img');img.src = URL.createObjectURL(blob);});});document.getElementById('switch-btn').addEventListener('click', function() {fetch('/switch_window');});document.getElementById('switch-btn1').addEventListener('click', function() {fetch('/switch_window1');});document.getElementById('switch-btn2').addEventListener('click', function() {fetch('/switch_window2');});document.getElementById('switch-btn3').addEventListener('click', function() {fetch('/switch_window3');});document.getElementById('switch-btn4').addEventListener('click', function() {fetch('/switch_window4');});document.getElementById('switch-btn5').addEventListener('click', function() {fetch('/switch_window5');});document.getElementById('switch-btnd').addEventListener('click', function() {fetch('/switch_windowd');});document.getElementById('switch-btnct').addEventListener('click', function() {fetch('/switch_ct');});document.getElementById('switch-btncsi').addEventListener('click', function() {fetch('/switch_csi');});</script>
</body>
</html>

3.记得新建static文件夹在py程序的同个文件夹中。

4.使用cmd,运行cpolar http 5000

5.python提取cpolar公网地址,也就是4上面显示的网址,发送给你的微信。(用另外一个微信在服务器登录)

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 22 11:17:27 2025@author: YBK
"""import requests
from bs4 import BeautifulSoup
import sys
import pyperclip
from wxauto import *
wx = WeChat()
who = '你的微信名'
# 登录网站并获取页面内容
def fetch_info_from_website(login_url, info_url, credentials, tunnel_name):with requests.Session() as session:try:# 获取登录页面以抓取csrf tokenlogin_page = session.get(login_url)login_page.raise_for_status() # 检查请求是否成功login_page_soup = BeautifulSoup(login_page.text, 'html.parser')# 提取csrf tokencsrf_token = login_page_soup.find('input', {'name': 'csrf_token'})['value']credentials['csrf_token'] = csrf_token# 登录print("登录中,请等待。")login_response = session.post(login_url, data=credentials)# 检查是否登录成功if login_response.status_code != 200 or login_response.url == login_url:print("登录失败,请检查您的凭据。")return []else:print("登录成功。")# 获取信息页面response = session.get(info_url)response.raise_for_status()# 解析页面soup = BeautifulSoup(response.text, 'html.parser')table = soup.find('table')if not table:print("未找到隧道列表,请检查对应设备的cpolar服务和网络连接。")return []links = [] # 用于存储找到的链接for row in table.find_all('tr')[1:]: # 跳过表头cells = row.find_all('td')if len(cells) > 1:tunnel = cells[0].get_text().strip()url_cell = row.find('a', href=True) # 直接在行中查找<a>标签if tunnel == tunnel_name and url_cell:links.append(url_cell['href']) # 添加匹配的链接print(f"找到隧道 {tunnel} 的链接: {url_cell['href']}")return linksexcept requests.RequestException as e:print(f"请求异常: {e}")except Exception as e:print(f"发生错误: {e}")
if __name__ == '__main__':login_url = "https://dashboard.cpolar.com/login"info_url = "https://dashboard.cpolar.com/status"credentials = {'login': '你的账号','password': '你的密码'}# 检查是否有命令行参数传入# if len(sys.argv) > 1:#   tunnel_name = sys.argv[1] # 第一个命令行参数作为隧道名称# else:#   print("请提供一个隧道名称作为参数,或者留空以自动提示输入。")#   tunnel_name = input("请输入隧道名称: ")#   if not tunnel_name:#     print("隧道名称不能为空。")#     sys.exit(1)tunnel_name = 'default'links = fetch_info_from_website(login_url, info_url, credentials, tunnel_name)if links:print(links[0])message = links[0]wx.SendMsg(message, who)pyperclip.copy(links[0])else:print(f"没有找到名为 {tunnel_name} 的隧道链接。")

运行界面:

PS:为了查看我的Spyder中程序的控制台,我加上了Ctrl+Tab和Ctrl+Shift+i,每一次按后都要按一下截屏,才会显示。

 

http://www.dtcms.com/wzjs/571580.html

相关文章:

  • 公众号购买重庆黄埔seo整站优化
  • asp网站无法上传图片asp 网站源代码
  • 建设部网站 注册违规东台做网站
  • 网站开发各年的前景网站首页做多大分辨率
  • 佳木斯哈尔滨网站建设爱媛直播
  • 59网站一起做网店wordpress主题使用
  • 赣州网站建设江西网站建设福鼎市建设局网站
  • 汕头仿站定制模板建站慈溪哪里有做网站
  • 网站设计照着做 算侵权吗wordpress设置主页面
  • 网站建设费是宣传费用吗一个简单的网站怎么做
  • 网站后台 开源不同网站对商家做o2o的政策
  • 贵阳网站建设建站解决方案国外 网站开发框架
  • 电影网站logo设计南宁网络推广
  • 商城网站设计注意什么PR做视频需要放网站上
  • 无锡网站建站公司谷歌关键词搜索
  • 建设银行信用卡网站是多少钱电子商城网站的设计与实现
  • 百姓网二手房网站优化成本
  • 坂田的做网站公司做旅游网站赚钱吗
  • 怎样创建基本的网站网络设计的三个层次
  • 网站建设技术人员工作小红书信息流广告
  • 宝安网站设计网站建设哪家快嵌入字体的网站
  • 折800网站模板wordpress 主题升级
  • 微商城网站建设合同下载用网上的文章做网站行吗
  • 网站搜索引擎优化主要方法注册自己的网站怎么注
  • xampp网站后台社交电商软件开发
  • 高端网站设计优化建站最新新闻热点事件
  • 那些网站是用python做的企业馆展厅设计公司
  • 网站建设与维护一样吗企业办公系统oa哪个好
  • html 网站建设中模板网站付费推广有哪些
  • 建筑网站do购物网站的建设与维护