脚本扫描hugo网站所有网页 调用API进行百度搜索收录#
- hugo博客会将所有网页都生成到sitemap.xml中 扫描即可 取出10条未成功收录过的网址
- token需要事先从https://ziyuan.baidu.com/site/index获取 需要登录百度帐号
- site:www.becool.vip 需要替换成自己的网站
#!/usr/bin/zsh
source ~/.zshrc
#找到所有的网址
grep -o '<loc>.*</loc>' /home/ubuntu/blog/public/sitemap.xml | sed 's/<loc>\(.*\)<\/loc>/\1/' >/tmp/sendSitemap/allurl.txt
#从allurl.txt中找到10条不在success.txt中的文本行 写入sendurl.txt
grep -v -F -x -f /tmp/sendSitemap/success.txt /tmp/sendSitemap/allurl.txt | head -n 10 >/tmp/sendSitemap/sendurl.txt
#调用百度API
curl -H 'Content-Type:text/plain' --data-binary @/tmp/sendSitemap/sendurl.txt "http://data.zz.baidu.com/urls?site=www.becool.vip&token=xxxtoken" -o /tmp/sendSitemap/result.txt >/dev/null 2>&1
# 收录成功则追加 sendurl.txt 的内容到 success.txt 文件
if grep -q "success" /tmp/sendSitemap/result.txt; then
cat /tmp/sendSitemap/sendurl.txt >> /tmp/sendSitemap/success.txt
fi
result="百度搜索网址收录同步结果 $(cat /tmp/sendSitemap/result.txt)"
#将结果通知到自己手机
/home/ubuntu/shell/SelfNotify $result
添加定时任务#
0 7 * * * nohup /home/ubuntu/shell/BaiduSiteRecord.sh > /home/ubuntu/shell/BaiduSiteRecord.log 2>&1 &