我的网站换成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

postbird