- 论坛徽章:
- 0
|
- #!/bin/bash
- #pc:站点id
- pc_id=(209 773 1139 210 213 214 1234 1133 1973 838)
- #touch:站点id
- touch_id=(1243 1280 1335 1245 1247 1244 1248 1249 1974 1246)
- #pc站点id与touch站点id的关联关系
- declare -A pc_id_to_touch_id
- pc_id_to_touch_id=([209]=1243 [773]=1280 [1139]=1335 [210]=1245 [213]=1247 [214]=1244 [1234]=1248 [1133]=1249 [1973]=1974 [838]=1246)
- #pc:站点id转中文名称
- declare -A pc_id_to_name
- pc_id_to_name=([209]=pc国内机票 [773]=pc国际机票 [1139]=pc国内游 [210]=pc景点门票 [213]=pc出境 [214]=pc酒店 [1234]=pc邮轮 [1133]=pc火车票 [1973]=pc汽车票 [838]=pc周边游)
- #touch:站点名称转id
- declare -A touch_id_to_name
- touch_id_to_name=([1243]=touch国内机票 [1280]=touch国际机票 [1335]=touch国内游 [1245]=touch景点门票 [1247]=touch出境 [1244]=touch酒店 [1248]=touch邮轮 [1249]=touch火车票 [1974]=touch汽车票 [1246]=touch周边游)
- for i in ${pc_id[@]}
- do
- pc_site_id="${i}"
- pc_site_name="${pc_id_to_name[${i}]}"
-
- touch_site_id="${pc_id_to_touch_id[${pc_site_id}]}"
- touch_site_name="${touch_id_to_name[${touch_site_id}]}"
-
- #获取PC数据
- pc_source=$(curl -s "http://三个w.some.ee/tmp/pc/"${pc_site_id}".html")
-
- #获取touch数据
- touch_source=$(curl -s "http://三个w.some.ee/tmp/touch/"${touch_site_id}".html")
- date=$(echo "${pc_source}"|grep -Po '(?<=":").*?(?=",")')
- pc_uv=$(echo "${pc_source}"|grep -Po '(?<="UV":)[0-9]+?(?=})')
- touch_uv=$(echo "${touch_source}"|grep -Po '(?<="UV":)[0-9]+?(?=})')
-
- pc_result=$(paste -d' ' <(echo "$date") <(echo "$pc_uv"))
- touch_result=$(paste -d' ' <(echo "$pc_result") <(echo "$touch_uv"))
-
- done
复制代码 目的:统计每天的流量,并放到result.txt里面,按照日期由近到远来按行存储。
数据是能够获取到的,但是我不知道怎么保存,我想保存为这样的格式:第一行固定为日期、pc站点名称、touch站点名称第二行开始,是每天的数据,按照日期来排列,最新的放在最上面。
curl获取地址的数据,可以按照天来获取,未来我就是想,我给的网址是我自己搞的演示数据。
可能遇到的问题:未来增加站点id的时候,要在文件中的右侧依次添加新的列。
囧。。。
问题看起来好复杂的样子。。。
不知道如何实现,求帮助啊。。。。。
|
|