今天用了两个小时, 为无限影视https://www.88tv.org)开发了一个小工具, 用来生成baidu的sitemap。  方便用。

因为该电影站的视频内容详情网页的ID是自增长的,所以可以按顺序快速生成。 不用再写爬虫去一个一个链接爬了。

1.  输入URL模板, 注意{*}, 这个是用来放ID的。

2.  ID区间,要生成多少到多少的页面链接。

3.  排除ID: 排除这些ID。

4.  更新时间, 这是sitemap中的结构, 一般指该页面的更新时间。  频繁度=更新频繁度,

5.  这工具加入了其它内容, 方便整理视频栏目, 首页及其它页面的内容。

这个工具不用读数据库, 不用爬网站, 只要你的网站内容ID有规律就能用。

示例附件下载在末尾。

预览图:

事件代码:

            Common.PageInfo pg;
if (cbChangefreq.Text == "")
{
MessageBox.Show("没有选择更新频率.");
return;
} List<Common.PageInfo> list = new List<Common.PageInfo>();
for (int i = (int)NuDMin.Value; i < NudMax.Value; i++)
{
if (((System.Collections.IList)rbtPC.Text.Split(',')).Contains(i.ToString()))
{
continue;
}
pg = new Common.PageInfo();
pg.loc = txtUrl.Text.Trim().Replace("{*}", i.ToString());
pg.lastmod = txtUpdateDate.Text;
pg.priority = nudPriority.Value.ToString();
pg.changefreq = cbChangefreq.SelectedItem.ToString();
list.Add(pg);
}
siteMap.url = list;
string mySitemapStr = siteMap.GenerateSiteMapString(Application.StartupPath + "\\" + txtTemplate.Text.Trim());
rtbTxt.Text = mySitemapStr;

辅助类:

using System;
using System.Collections.Generic;
using System.Text; namespace Common
{ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text; /// <summary>
/// 生成站点地图sitemap
/// </summary>
public class SiteMap
{
public List<PageInfo> url
{
get;
set;
} /// <summary>
/// 生成SiteMap字符串
/// </summary>
/// <returns></returns>
public string GenerateSiteMapString(string file = "")
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.AppendLine("<urlset>"); string text = "";
#region MyRegion
if (!string.IsNullOrWhiteSpace(file))
{
text = System.IO.File.ReadAllText(file);
}
sb.AppendLine(text);
#endregion foreach (PageInfo pi in url)
{
sb.AppendLine("<url>");
sb.AppendLine(string.Format("<loc>{0}</loc>", pi.loc));
sb.AppendLine(string.Format("<lastmod>{0}</lastmod>", pi.lastmod));
sb.AppendLine(string.Format("<changefreq>{0}</changefreq>", pi.changefreq));
sb.AppendLine(string.Format("<priority>{0}</priority>", pi.priority));
sb.AppendLine("</url>");
} sb.AppendLine("</urlset>");
return sb.ToString();
} /// <summary>
/// 保存Site文件
/// </summary>
/// <param name="FilePath">路径</param>
public void SaveSiteMap(string FilePath, string content)
{
using (StreamWriter m_streamWriter = new StreamWriter(FilePath, false, Encoding.UTF8))
{
m_streamWriter.Flush();
m_streamWriter.BaseStream.Seek(, SeekOrigin.Begin);
m_streamWriter.Write(content);
} }
} public class PageInfo
{
/// <summary>
/// 网址
/// </summary>
public string loc { get; set; } /// <summary>
/// 最后更新时间
/// </summary>
public string lastmod { get; set; } /// <summary>
/// 更新频繁程度
/// </summary>
public string changefreq { get; set; } /// <summary>
/// 优先级,0-1
/// </summary>
public string priority { get; set; }
}
}

下载:https://files.cnblogs.com/files/jackrebel/BaiduSiteMap.zip

非常简单的源代码。

百度Sitemap生成器的更多相关文章

  1. 好用的sitemap生成器—GY SiteMap

    好用的sitemap生成器-GY SiteMap 下载地址:http://www.wyxxw.cn/download-detail-6-8-14.html 网站地图可以更好的帮助搜索引擎抓取.收录网站 ...

  2. 织梦 百度sitemap制作教程

    一.新建一个sitemap.htm模板 登录dedecms后台,选择[模板]-[模板管理]-[默认模板管理] 点击最下面的[新建模板]新建一个模板,并复制下面这段代码进去(将代码中的域名改为自己的): ...

  3. 百度sitemap.xml

    <?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns="http://www. ...

  4. 如何在HTMl网页中插入百度地图

    方法/步骤 1.打开"百度地图生成器"的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 如下图: 2.在"1 ...

  5. sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml

    Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...

  6. Baidu Sitemap Generator插件使用图解教程

    这两天因为百度对本博客文章收录更新很慢,一直在网络查找真正的原因和解决方法.最终发现了柳城开发的Baidu Sitemap Generator WordPress插件,最终效果如果还需要验证一段时间. ...

  7. 百度推送-sitemap-使用playframework框架实现-java

    主动推送的目的是能够把我们高质量内容推送给百度,但是首先你得有一个属于你自己的网站,在百度站长进行验证通过之后,才有资格推送百度sitemap. 百度站长平台为未使用百度统计的站点提供三种验证方式:文 ...

  8. MVC项目中使用百度地图

    已经很久没更新博客了,因为最近一直在学习前端的知识,没那么多时间,写博客或者写文章不但没有钱,写得好还好说,如果写得不好,一些吃瓜群众,不仅要喷你,搞不好还要人身攻击就不好了.所以写博客的人,脸皮得厚 ...

  9. SEO的基本概念 和 提交SITEMAP到搜索引擎

    SEO的基本概念 SEO的基本概念 :我们接触的SEO主要就是做搜索引擎的优化,让搜索引擎更好地收录 我们的网站,不管是首页还是内页,都能有很好的收录和排名.那么我们经常用到的SEO的语句是什么呢?小 ...

随机推荐

  1. SpringCloud(四):使用Feign实现声明式服务调用

    一.Feign介绍Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解.它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解 ...

  2. thinkphp 5.x No input file specified 解决

    原规则: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond ...

  3. 转载 could not find a getter for ... in class ... 异常的原因解析

    可能原因如下: 1.真的没有写getter方法(发生几率:1%) 2.*.hmb.xml文件中的属性名和pojo不一致(*.hbm.xml和*.java没衔接好,不一致),字段属性没有正确配置,比如, ...

  4. 缺少控制文件备份时如何还原数据库 (Doc ID 1438776.1)

    How to restore database when controlfile backup missing (Doc ID 1438776.1) APPLIES TO: Oracle Databa ...

  5. 简单理解Busybox下halt/poweroff/reboot实现及区别

    关键词:halt/poweroff/reboot.reboot().SIGUSR1/SIGTERM/SIGUSR2等. 1. busybox下的halt/poweroff/reboot实现 通过app ...

  6. ssm所需依赖

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  7. いくnotepad++

    再见!Notepad++,好走不送! 1No zuo No Die 上周就发现Notepad++开发者在作妖,新版本放了个啥恶心的标注上来,本来想直接发文说一说,后来想想是不是这样又给它做了宣传,就决 ...

  8. CodeForces 1238C(思维+贪心)

    题意 https://vjudge.net/problem/CodeForces-1238C 您现在正在玩一个游戏,您初始在一个高度 h 的悬崖 悬崖沿壁高度为 1-h 的这些位置均有平台,平台有两种 ...

  9. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  10. 【转】Cookie和Session和Cache

    1 Cookie和Session Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力. Session可以用Cookie来实 ...