ucloud是一家不错的云计算公司,不高的费用,稳定的技术,勤劳的售后得到了俺的喜欢。
年底了,流量不是大么,前半个月通过123pan分流apk下载、6个5Mbps固定太宽用于物联网长连接服务等手段,解决了2个100GB每日流量的问题,剩下的一个牵扯到动态接口直接返回zip数据暂时无法直接解决。
于是,想了解下ucloud对于固定带宽的具体收费情况。
开着浏览器调试页面访问ucloud的eip购买页面可以看到年费的价格。
既然是爬虫,我们在这一个请求单机右键,拷贝成curl命令,这里面就包括了接口地址、cookie信息以及其他一些必要的信息,并且通过curl是可以直接返回价格json数据的。
我们把curl命令拷贝到gpt里面,请gpt帮我们修改成python语句。
把生成的内容放到pycharm里面,然后需要修改时间戳,并把语句包进一个函数里面,将bandwidth作为参数可以直接外部调用。
完整代码如下:
#!/bin/env python3
import time
import requests
def get_price_year(bandwidth):
url = 'https://api.ucloud.cn/?Action=GetEIPPrice'
headers = {
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh,en-US;q=0.9,en;q=0.8',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'xxx',
'Origin': 'https://console.ucloud.cn',
'Referer': 'https://console.ucloud.cn/unet/eip/create',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-site',
'U-CSRF-Token': 'xxx',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0',
'sec-ch-ua': '"Opera";v="105", "Chromium";v="119", "Not?A_Brand";v="24"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Linux"',
'x-api-lang': 'zh_CN'
}
import time
current_timestamp = int(time.time()*1000)
data = {
'ProjectId': 'org-2wbwtk',
'Region': 'cn-bj2',
'OperatorName': 'Bgp',
'Bandwidth': bandwidth,
'Tag': 'Default',
'PayMode': 'Bandwidth',
'Count': '1',
'ChargeType': 'Year', # 注意:这个值可能需要根据你的需要进行更改
'Quantity': '1',
'Action': 'GetEIPPrice',
'_user': 'yunwei@stesh.cn',
'_timestamp': current_timestamp # 注意:这个时间戳可能需要更新
}
response = requests.post(url, headers=headers, data=data)
# print(response.text)
response_json = response.json()
price = response_json["PriceSet"][0]["Price"]
#print(price)
return(price)
for i in range(1,1000):
print(i,",",get_price_year(i))
time.sleep(0.5) # 添加延时,避免接口调用频繁导致异常
如此一来,我们就可以运行了。
经过二次加工后,我们获得了一张excel表格,
另外,还有一个初步的结论:
- 如果接口一直有流量,一年到头的都有,那么固定带宽要比按流量性价比高。
- 固定带宽直接5Mbps,一个不够就2个,然后通过DNS轮番解析到这两个EIP上。
- 如果确实有流量,还不小,白天大概在3Mbps,夜间可以到90Mbps,可以在ULB上挂两个EIP,一个固定带宽5Mbps满足白天时段带宽需求,另一个按流量100Mbps满足夜间带宽需求。然后使用调度器控制DNS解析,白天解析到5Mbps固定带宽的EIP上,晚上解析到按流量的EIP上。