Wget在线扒/仿站工具(PHP整站源码)
森遇博客

Wget在线扒/仿站工具(PHP整站源码)

时迁
1年前发布
广告 广告 广告 广告

引言

项目的核心是使用PHP处理用户请求,通过SSH连接服务器执行爬取命令,并将结果发送到用户邮箱。
围观地址:https://net.uos.cx/?mode=tool&pag=wget

功能概述

该工具具备以下功能:

  1. 输入有效的URL和邮箱。
  2. 验证URL格式。
  3. 通过SSH连接执行Wget命令抓取网页。
  4. 生成ZIP文件并通过邮箱通知用户。

页面结构

页面使用Bootstrap框架实现响应式设计。以下是页面的基本HTML结构示例:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
  <meta charset="utf-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
  <title>在线仿站工具</title>
  <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<nav class="navbar sticky-top navbar-expand-lg navbar-light bg-white border-bottom">
  <div class="container">
    <a class="navbar-brand" href="./">在线仿站工具</a>
  </div>
</nav>

<div class="container mt-5">
  <div class="row">
    <div class="col-md-8 offset-md-2">
      <input type="text" id="url" class="form-control" placeholder="请输入有效的网址" required/>
      <input type="text" id="email" class="form-control mt-2" placeholder="请输入有效的邮箱" required/>
      <input id="submit" type="button" value="提交任务" class="btn btn-primary btn-block mt-3"/>
    </div>
  </div>
</div>

<script src="./assets/js/common.js"></script>
</body>
</html>

程序首页

后端逻辑

后端使用PHP实现,主要功能集中在api.php文件中。以下是该文件的核心代码示例:

  1. 请求处理
    首先,我们检查请求方法是否为POST,并获取URL和邮箱:
    图片[1] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  2. URL验证
    使用正则表达式验证输入的URL格式,确保用户输入的是有效的URL:
    图片[2] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  3. 生成文件名
    生成唯一的文件名以便于后续的下载:

    $timestamp = time();
    $file = "website_$timestamp.zip";
  4. 执行SSH命令
    通过自定义的SSH类连接到服务器并执行Wget命令:
    图片[3] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  5. 检查文件生成状态
    检查文件是否成功生成,若未生成,则记录错误信息:
    图片[4] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  6. 发送邮件通知
    发送爬取结果到用户邮箱的代码如下:
    图片[5] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  7. 错误日志记录
    使用自定义的log_error函数记录所有错误信息,确保系统的可维护性:
    图片[6] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  8. SSH连接类
    以下是一个简单的SSH连接类示例,供后续使用:
    图片[7] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  9. Wget脚本示例
    wget_site.sh脚本负责执行实际的爬取操作,代码示例如下:
    图片[8] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  10. 处理返回结果
    处理执行命令后的返回结果以便后续使用:
    图片[9] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  11. 提交任务前的提示
    在前端添加任务提交前的提示,增强用户体验:
    图片[10] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客
  12. 邮件发送状态检查
    检查邮件发送状态以确保用户能够及时收到通知:
    图片[11] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客

核心技术

  1. PHP:后端逻辑处理,包括请求处理和SSH命令执行。
  2. SSH:使用SSH连接到服务器进行远程操作。
  3. Wget:爬取网页及其资源的工具。
  4. Bootstrap:用于简化前端布局和样式。

总结

这个在线仿站工具允许用户快速爬取并下载网站资源。关键在于安全地处理用户输入、稳定地执行后端爬取操作,并确保系统的可维护性。

最后

服务器需要安装ssh2扩展
同目录下需要创建down和work目录

bat对接Api进行爬取

图片[12] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客

运行结果

图片[13] - Wget在线扒/仿站工具(PHP整站源码) - 森遇博客

喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
取消 登录评论