百度Sitemap生成器
今天用了两个小时, 为无限影视(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生成器的更多相关文章
- 好用的sitemap生成器—GY SiteMap
好用的sitemap生成器-GY SiteMap 下载地址:http://www.wyxxw.cn/download-detail-6-8-14.html 网站地图可以更好的帮助搜索引擎抓取.收录网站 ...
- 织梦 百度sitemap制作教程
一.新建一个sitemap.htm模板 登录dedecms后台,选择[模板]-[模板管理]-[默认模板管理] 点击最下面的[新建模板]新建一个模板,并复制下面这段代码进去(将代码中的域名改为自己的): ...
- 百度sitemap.xml
<?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns="http://www. ...
- 如何在HTMl网页中插入百度地图
方法/步骤 1.打开"百度地图生成器"的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 如下图: 2.在"1 ...
- sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...
- Baidu Sitemap Generator插件使用图解教程
这两天因为百度对本博客文章收录更新很慢,一直在网络查找真正的原因和解决方法.最终发现了柳城开发的Baidu Sitemap Generator WordPress插件,最终效果如果还需要验证一段时间. ...
- 百度推送-sitemap-使用playframework框架实现-java
主动推送的目的是能够把我们高质量内容推送给百度,但是首先你得有一个属于你自己的网站,在百度站长进行验证通过之后,才有资格推送百度sitemap. 百度站长平台为未使用百度统计的站点提供三种验证方式:文 ...
- MVC项目中使用百度地图
已经很久没更新博客了,因为最近一直在学习前端的知识,没那么多时间,写博客或者写文章不但没有钱,写得好还好说,如果写得不好,一些吃瓜群众,不仅要喷你,搞不好还要人身攻击就不好了.所以写博客的人,脸皮得厚 ...
- SEO的基本概念 和 提交SITEMAP到搜索引擎
SEO的基本概念 SEO的基本概念 :我们接触的SEO主要就是做搜索引擎的优化,让搜索引擎更好地收录 我们的网站,不管是首页还是内页,都能有很好的收录和排名.那么我们经常用到的SEO的语句是什么呢?小 ...
随机推荐
- Java入门总结
1. 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致: 使用javac可以将.java源码编译成.class字节码: 使用java可以运行一个已编译的J ...
- 保护模式中的PDE与PTE
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 保护模式中的PDE与PTE 1. PDE与PTE的认知 我们在上一 ...
- PHP+jQuery开发简单的翻牌抽奖实例
PHP+jQuery开发简单的翻牌抽奖实例,实现流程:页面放置6个方块作为奖项,当抽奖者点击某一块时,方块翻转到背面,显示中奖信息,这个奖品是随机的,不是固定的. 在页面上放置6个奖项: <ul ...
- [爬虫]一个易用的IP代理池
一个易用的IP代理池 - stand 写爬虫时常常会遇到各种反爬虫手段, 封 IP 就是比较常见的反爬策略 遇到这种情况就需要用到代理 IP, 好用的代理通常需要花钱买, 而免费的代理经常容易失效, ...
- WM消息大全,windows消息大全
WM消息大全 消息名 消息值 说明 WM_CREATE 0x0001 应用程序创建一个窗口 WM_DESTROY 0x0002 一个窗口被销毁 WM_MOVE 0x0003 移动一个窗口 WM_SIZ ...
- Java - 运算符 方法
本位是复习笔记,不适合零基础 赋值运算符 变量 名称 = 值/表达式 ; 需要注意的是,赋值运算符的计算是按照从右往左的; 注意: 1.在使用赋值符号时,必须保证左侧的类型范围大于等于右侧产生的类型 ...
- SpringCloud(七):springcloud-config统一管理配置中心
前言: Spring Cloud Config组件是独立的,不需要注册到eureka.config工作原理是把读取目标到配置拉取到本地缓存一份然后供给其他客户端使用,所以一旦config启动成功,可以 ...
- docker安装mysql、es、jenkins等一些步骤以及如何设置docker国内镜像
CentOS7安装Docker步骤: (0)删除旧的可能安装过的包 yum remove docker \ docker-client \ ...
- Windows应急日志常用的几个事件ID
Windows应急日志常用的几个事件ID点击站内没有搜索到,可能搜索姿势不对,发一下吧,应急时可能会用到,根据日志时间点判断入侵 日志路径:C:\Windows\System32\winevt\Log ...
- SAP系统邮件功能配置
相信SAP顾问或多或少都会接到用户要求SAP系统能够定时发送邮件的功能,定时将用户需要的信息已邮件的方式发送给固定的人员. 下面就来讲一下SAP发送邮件应该如何配置: 1.RZ10做配置: is/SM ...