scala操作sitemap修改url对用于百度网站改版
我的网站换成typecho之后改版了,也是之前没有经验才会使用http://www.ptbird.cn/%postname%/而我改了之后变成了http://www.ptbird.cn/%postname%.html。
加了一个.html的后缀,结果百度收录急剧减少,并且一直收录旧的链接。
为了方便,我不得不使用百度站点改版URL对,进行提交。
因为我现在的url相比与之前只是多了个.html,因此直接从sitemap拿数据就可以了。
不过也有个问题就是,http://www.ptbird.cn/categray/ 和 http://www.ptbird.cn/page/1/ 这样的非文章链接是没有后缀的。
因此需要单独处理。
很懒的我不愿意一个个提取,就用scala进行提取处理并输出提交给百度就行了。
代码
import java.io.PrintWriter
import scala.io.Source
/**
*Created by Postbird on 2016/12/16
*文件是为了获取sitemap的url 并进行改版输出.
*/
object SiteMapSelect extends App{
//获取文件内容
val source=Source.fromFile("E:siteMap.xml").mkString
val pw= new PrintWriter("E:siteMapChange.xml")
var count=0
//正则匹配拿出所有的链接
//因为网页的关系,我将loc的标签加了个空格方便显示
val reg="< loc>(.*)< /loc>".r
reg.findAllMatchIn(source).foreach(i=>{
count+=1
val str=i.toString().substring(5,i.toString().length-6)
if(str.contains(".html")) {
val tmpRes=str.substring(0,str.length-5)
pw.println(tmpRes+" "+str)
}else{
pw.println(str+" "+str)
}
})
println(count)
}
问题
因为这里面存在url是不匹配的,因此如果需要的话可以吧没有的匹配失败的拿出来去掉就行了。
我自己做的时候,用我之前的sitemap提取出来,然后把文章加了html就行了。
效果
文章已经结束啦
文章版权:Postbird-There I am , in the world more exciting!
本文链接:http://www.ptbird.cn/scala-change-sitemap-url.html
转载请注明文章原始出处 !
扫描二维码,在手机阅读!