linux 微博分类信息获取与格式化

做~自己de王妃 提交于 2020-02-22 04:56:19

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);
}
1
2
3
4
5
如下:

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_ 环球网
1
2
3
4
5
6
7
上述信息存入:shehui.txt中。

第二步:取上述文件第3列值,存入文件shehui.info.
[root@laoyang process]# awk {'print $3'} shehui.txt | sort -n | uniq > shehui.info
1
第三步:逐行读取,构造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格式是否正确。
正确的话,提交前端,就能正确显示结果了。


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!