登录 立即注册

首页 > 绿虎论坛 > 电脑 > Linux/Unix > ARM (发帖)

随身WIFI刷机资源以及教程


『回复列表(28|隐藏机器人聊天)』

20.

[4] @旧人

          {
            form.addEventListener('submit', function (event) {
              if (!form.checkValidity()) {
                event.preventDefault()
                event.stopPropagation()
              }

              form.classList.add('was-validated')
            }, false)
          })
    })()
</script>

</body>
</html>
```

这个版本的代码实现了以下优化:

  1. 添加了一个响应式导航栏。
  2. 使用Bootstrap的内置类替换了一些自定义CSS样式。
  3. 为表单添加了HTML5验证以确保用户输入的API密钥格式正确。
  4. 使用Bootstrap的行和列组件对结果进行布局。

请注意,这里没有添加图表库。如果您希望以图表形式展示数据,请查阅Chart.js或D3.js等库的文档,了解如何将它们整合到您的项目中。

(/@Ta/2023-05-01 19:00//)

21.

@ChatGPT 4,改成php web程序<?php function k_download($items) { if (is_array($items)) { foreach($items as $it) { $hash = $it['FileHash']; $a_id = $it['AlbumID']; $music_url = ''; if ($a_id) { $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid&platid=4&album_id={$a_id}"; } else { $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid"; } $m_res = requests\get($music_url, ['headers' => [ 'user-agent'=> 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36', 'cookie'=> 'kg_mid=09fbe19da8563f6fd444a3657c4c71f6; kg_dfid=0hoWuV15LpJc3XeE0j46EoR1; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1633592836' ]]); $content = preg_match_all('/jQuery((.*?));/', $m_res->text, $matches); $content = $matches[1][0]; try { $con = json_decode($content, true); if ($con['status'] == 1) { $item = $con['data']; $m_url = $item['play_url']; $title = $item['song_name']; $music = requests\get($m_url); if (!file_exists('kugou')) { mkdir('kugou'); } $path = './kugou/' . $title . '.mp3'; file_put_contents($path, $music->content); echo "正在下载".$title."\n"; } } catch (\Exception $e) { echo $e."\n".$m_res->url."有毒"."\n"; continue; } } } else { exit(); } } function KuGou($singer, $num) { $key = urlencode($singer); $url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}"; try { $res = requests\get($url); $res_items = json_decode($res->content)->data; $page_size = $res_items->pagesize; $total = $res_items->total; echo $singer."相关歌曲共".$total."首,共".$page_size."页\n"; $num_key = fgets(STDIN); $page_num = fgets(STDIN); if (intval($page_num) > intval($page_size)) { echo "页面超过下限,请重新开始\n"; exit(); } if (!is_numeric($page_num)) { echo "让你输入数字,你输入啥玩意?\n"; exit(); } if ($num_key == "a") { $a_url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$page_num}"; $res1 = requests\get($a_url); $items = json_decode($res1->content)->data->lists; k_download($items); } elseif ($num_key == "b") { for ($page=1; $page<=intval($page_num); $page++) { $b_url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$page}"; $res2 = requests\get($b_url); $items = json_decode($res2->content)->data->lists; k_download($items); } } else { echo "输入错误\n"; exit(); } } catch (\Exception $e) { echo $e; exit(); } } ?>

(/@Ta/2023-05-01 20:01//)

22.

[4] @旧人,您提供的代码是一个PHP脚本,用于从酷狗音乐下载歌曲。为了将其转换为一个基本的Web应用程序,您可以创建一个简单的HTML表单,让用户输入歌手名和要下载的歌曲数量。然后,使用PHP处理这些输入,并根据用户的选择下载歌曲。以下是一个简单的实现:

  1. 创建一个名为index.php的文件,粘贴以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>酷狗音乐下载器</title>
</head>
<body>
    <h1>酷狗音乐下载器</h1>
    <form action="download.php" method="post">
        <label for="singer">歌手名字:</label>
        <input type="text" id="singer" name="singer" required>
        <br>
        <label for="num">下载数量:</label>
        <input type="number" id="num" name="num" required>
        <br>
        <input type="submit" value="下载">
    </form>
</body>
</html>
  1. 将您提供的原始代码粘贴到名为download.php的新文件中,并在文件开头添加以下内容:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $singer = $_POST["singer"];
    $num = $_POST["num"];

    // 在此处插入原始代码
}
?>
  1. 将原始代码中的KuGou函数调用替换为以下内容:
KuGou($singer, $num);

现在,您可以将这两个文件放在Web服务器上(例如,使用Apache或Nginx服务器),访问index.php文件并使用表单下载歌曲。请注意,这个简单的实现不包含任何错误处理或用户友好的提示,这些都是您可能需要在将其部署为实际Web应用程序之前加入的功能。

(/@Ta/2023-05-01 20:03//)

23.

@ChatGPT 4,我想实现的效果是,我输入搜索关键词,查询出来结果分页显示,单首歌曲可以点击播放和下载,前端使用bootstrap

(/@Ta/2023-05-01 20:15//)

24.

[4] @旧人,要实现这个效果,您需要在原始代码的基础上做一些修改。首先,创建一个名为index.php的文件,并将以下内容粘贴到其中。这将创建一个基于Bootstrap的搜索页面,用于输入关键词并提交表单。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>酷狗音乐搜索与下载</title>
    <!-- 引入 Bootstrap 样式文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1 class="text-center mt-4 mb-4">酷狗音乐搜索与下载</h1>
        <form action="search.php" method="post">
            <div class="input-group mb-3">
                <input type="text" class="form-control" id="keyword" name="keyword" placeholder="请输入关键词" required>
                <button class="btn btn-primary" type="submit">搜索</button>
            </div>
        </form>
    </div>
    <!-- 引入 Bootstrap JavaScript 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
</body>
</html>

接下来,创建一个名为search.php的文件。将您提供的原始代码粘贴到其中,并在文件开头添加以下内容。这将处理来自搜索表单的POST请求,显示分页结果并提供播放和下载选项。

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $keyword = $_POST["keyword"];

    // 在此处插入原始代码
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>搜索结果 - 酷狗音乐</title>
    <!-- 引入 Bootstrap 样式文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1 class="text-center mt-4 mb-4">搜索结果</h1>
        
        <!-- 在此处插入用于显示搜索结果、播放和下载选项的PHP代码 -->
        
    </div>
    <!-- 引入 Bootstrap JavaScript 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
</body>
</html>

search.php文件中,您需要修改原始代码以返回搜索结果,而不是立即下载歌曲。您可以使用以下代码段替换KuGou函数调用:

$results = KuGou($keyword, 1); // 获取第一页的结果
displayResults($results);

然后,您需要修改KuGou函数,使其返回搜索结果,而不是下载歌曲。请注意,您可能需要根据实

(/@Ta/2023-05-01 20:17//)

25.

@ChatGPT 4,我不太理解,请给我search.php的完整内容

(/@Ta/2023-05-01 20:21//)

26.

[4] @旧人,以下是根据您的要求修改的search.php文件的完整内容。该文件处理搜索表单的POST请求并显示分页结果,同时提供播放和下载选项。

<?php
require_once "functions.php";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $keyword = $_POST["keyword"];
    $results = KuGou($keyword, 1); // 获取第一页的结果
}

function displayResults($results) {
    if ($results) {
        echo '<div class="row row-cols-1 row-cols-md-3 g-4 mb-4">';
        foreach ($results as $result) {
            echo '<div class="col">';
            echo '<div class="card">';
            echo '<div class="card-body">';
            echo '<h5 class="card-title">' . $result["song_name"] . '</h5>';
            echo '<audio src="' . $result["play_url"] . '" controls></audio>';
            echo '<a href="' . $result["play_url"] . '" download="' . $result["song_name"] . '.mp3" class="btn btn-primary mt-2">下载</a>';
            echo '</div>';
            echo '</div>';
            echo '</div>';
        }
        echo '</div>';
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>搜索结果 - 酷狗音乐</title>
    <!-- 引入 Bootstrap 样式文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1 class="text-center mt-4 mb-4">搜索结果</h1>
        
        <?php
        if (isset($results)) {
            displayResults($results);
        }
        ?>
        
    </div>
    <!-- 引入 Bootstrap JavaScript 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
</body>
</html>

这个文件引用了一个名为functions.php的文件,您需要将您提供的原始代码粘贴到其中。请注意,您可能需要根据实际情况对原始代码进行适当修改,以返回搜索结果,而不是立即下载歌曲。

在此示例中,displayResults函数负责生成HTML代码以显示搜索结果、播放音频和下载选项。您可以根据需要自定义该函数以更改结果的显示方式。

(/@Ta/2023-05-01 20:23//)

27.

@ChatGPT 4,这是functions.php的文件,请修改一下发我完整代码<?php
function k_search($singer, $num) {
// 新添加的搜索函数
$key = urlencode($singer);
$url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}";
try {
$res = requests\get($url);
$res_items = json_decode($res->content)->data;
$items = $res_items->lists;
return $items;
// 返回搜索结果
}
catch (\Exception $e) {
echo $e;
exit();
}
}
function k_download($items) {
if (is_array($items)) {
foreach($items as $it) {
$hash = $it['FileHash'];
$a_id = $it['AlbumID'];
$music_url = '';
if ($a_id) {
$music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid&platid=4&album_id={$a_id}";
} else {
$music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid";
}
$m_res = requests\get($music_url, ['headers' => [
'user-agent'=> 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
'cookie'=> 'kg_mid=09fbe19da8563f6fd444a3657c4c71f6; kg_dfid=0hoWuV15LpJc3XeE0j46EoR1; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1633592836'
]]);
$content = preg_match_all('/jQuery((.*?));/', $m_res->text, $matches);
$content = $matches[1][0];
try {
$con = json_decode($content, true);
if ($con['status'] == 1) {
$item = $con['data'];
$m_url = $item['play_url'];
$title = $item['song_name'];
$music = requests\get($m_url);
if (!file_exists('kugou')) {
mkdir('kugou');
}
$path = './kugou/' . $title . '.mp3';
file_put_contents($path, $music->content);
echo "正在下载".$title."\n";
}
}
catch (\Exception $e) {
echo $e."\n".$m_res->url."有毒"."\n";
continue;
}
}
} else {
exit();
}
}
function KuGou($singer, $num) {
$items = k_search($singer, $num);
// 调用搜索函数获取搜索结果
$total = $items->total;
$page_size = $items->pagesize;
echo $singer."相关歌曲共".$total."首,共".$page_size."页\n";
$num_key = fgets(STDIN);
$page_num = fgets(STDIN);
if (intval($page_num) > intval($page_size)) {
echo "页面超过下限,请重新开始\n";
exit();
}
if (!is_numeric($page_num)) {
echo "让你输入数字,你输入啥玩意?\n";
exit();
}
if ($num_key == "a") {
k_download($items->lists);
// 直接下载搜索结果
} elseif ($num_key == "b") {
for ($page=1; $page<=intval($page_num); $page++) {
$items = k_search($singer, $page);
// 每一页都重新搜索
k_download($items->lists);
}
} else {
echo "输入错误\n";
exit();
}
}
?>

(/@Ta/2023-05-01 20:26//)

28.

[4] @旧人,我已经根据您的要求修改了functions.php文件。在这个修改后的版本中,我移除了与下载相关的部分,仅保留了搜索功能。现在,KuGou函数仅负责搜索并返回结果。以下是修改后的functions.php文件:

<?php
require_once 'vendor/autoload.php';

use Requests as requests;

function k_search($singer, $num) {
    $key = urlencode($singer);
    $url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}";
    try {
        $res = requests::get($url);
        $res_items = json_decode($res->content)->data;
        $items = $res_items->lists;
        return $items;
    }
    catch (\Exception $e) {
        echo $e;
        exit();
    }
}

function KuGou($singer, $num) {
    $items = k_search($singer, $num);
    return $items;
}
?>

这个文件依赖于Requests库,所以确保在您的项目中安装了该库。您可以使用composer来安装:

composer require rmccue/requests

现在,您可以在search.php文件中调用KuGou函数来获取搜索结果。示例中的displayResults函数已经能够显示这些结果并提供播放和下载选项。

(/@Ta/2023-05-01 20:27//)

上一页 2/2页,共28楼

回复需要登录

11月30日 16:57 星期六

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1