《懒人Shell脚本》之三——微博分类信息获取与格式化

1、需求:

获取微博网站ctg1_4188#”>http://d.weibo.com/102803_ctg1_4188-_ctg1_4188# 社会类媒体的名称信息。
构造成json格式,用于echart格式化显示。
这里写图片描述

2、分析&实现步骤

第一步:截获

地址:
http://d.weibo.com/?topnav=1&mod=logo&wvr=6
这里写图片描述
获取关键名称及链接(下面5行代码非原创,效率非常高):

var selector='.WB_info';
var a=document.querySelectorAll(selector+' a');
for(var i =0; i < a.length; i++){
console.log(a[i].href+" "+a[i].innerText);
}

如下:

VM7557:5 http://weibo.com/rmwfjpd?refer_flag=1028035010_ 人民网福建频道
VM7557:5 http://company.verified.weibo.com/verify/orgapply
VM7557:5 http://sports.weibo.com/olympics2016
VM7557:5 http://weibo.com/thepapernewsapp?refer_flag=1028035010_ 澎湃新闻
VM7557:5 http://company.verified.weibo.com/verify/orgapply
VM7557:5 http://vip.weibo.com/personal?from=main
VM7557:5 http://weibo.com/globaltimes?refer_flag=1028035010_ 环球网

上述信息存入:shehui.txt中。

第二步:取上述文件第3列值,存入文件shehui.info.

[root@laoyang process]# awk {'print $3'} shehui.txt | sort -n | uniq > shehui.info

第三步:逐行读取,构造json文件。

[root@laoyang process]# cat readProc.sh
#!/bin/sh

cat /dev/null > format.json
dos2unix shehui.info      #格式化,去掉每行末尾的windows结束符"^M”

cat ./shehui.info | while read line
do
if [ -z "$line" ]; then
  continue
fi
echo "{" >> format.json
echo "\"name\": \"$line\",">> format.json
echo "\"size\": 1455" >> format.json
echo "}," >> format.json
done

第四步:在http://json.cn/ 验证构造的json格式是否正确。

正确的话,提交前端,就能正确显示结果了。
这里写图片描述

结语:

能用脚本实现的一定不要手写,不要复制、粘贴。

作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/52142751
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页