IDC商品监控-v0.1

用AI写的一个html,本来想用python采集,发现我第一个搜的idc提供商“雨云”,在查询商品的时候,可以对返回的json进行分析,直接利用html就能做到了。

雨云商品接口:api.v2.rainyun.com/product/rcs/plans

然后通过ai写的html

此处将html直接发布在此文章。

<!DOCTYPE html>
<html lang="zh—CH">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Selected JSON Data Example</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }

        th, td {
            border: 1px solid black;
            padding: 8px;
            text-align: left;
        }

        th {
            background-color: #f2f2f2;
        }
    </style>
     <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">

</head>
<body>
    <h1>Selected JSON Data from Rainyun API</h1>
    <table id="data-table">
        <thead>
            <tr>
                <th>区域</th>
                <th>CPU</th>
                <th>内存</th>
                <th>下载</th>
                <th>上传</th>   
                <th>总价格</th> <!-- 新增列 -->
            </tr>
        </thead>
        <tbody id="data-body">
        </tbody>
    </table>

    <script src="https://code.jquery.com/jquery-3.5.1.js"></script>
    <script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>

    
    <script>
        async function fetchData() {
        const url = "https://api.v2.rainyun.com/product/rcs/plans";
        try {
            const response = await fetch(url);
            if (!response.ok) {
                throw new Error(`HTTP error! status: ${response.status}`);
            }
            const data = await response.json();
            // 在筛选和排序前,增加available_stock > 0的条件
            displaySortedData(data.data.filter(plan => plan.is_selling && plan.available_stock > 0));
        } catch (error) {
            console.error(error);
        }
    }

        function displaySortedData(sortedData) {
        const dataTableData = sortedData.map(plan => [
            plan.region,
            plan.cpu,
            plan.memory,
            plan.net_in,
            plan.net_out,
            (parseFloat(plan.price) + (plan.eip_price ? parseFloat(plan.eip_price) : 0)).toFixed(2)
        ]);
            
             // 初始化DataTable对象,实现排序和分组功能
        $('#data-table').DataTable({
            data: dataTableData,
            columns: [
                { title: "区域" },
                { title: "CPU" },
                { title: "内存" },
                { title: "下载" },
                { title: "上传" },
                { title: "总价格" }
            ]
            });

        }

        // 辅助函数:创建表格单元格
        function createCell(content) {
            const cell = document.createElement('td');
            cell.textContent = content;
            return cell;
        }

        // 辅助函数:计算总价格
        function calculateTotalPrice(plan) {
            return parseFloat(plan.price) + (plan.eip_price ? parseFloat(plan.eip_price) : 0);
        }

        fetchData();
    </script>
</body>
</html>

效果图

OK,今天就先到这

阅读剩余
THE END