private static string GetArticleCategory(string appName, int blogId, int postId)
{
var strReturn = string.Empty;
var apiReturn =
NetworkHelper.GetHtmlFromGet(string.Format("http://www.cnblogs.com/mvc/blog/CategoriesTags.aspx?blogApp={0}&blogId={1}&postId={2}", appName, blogId, postId), Encoding.UTF8);
var content = StringHelper.ConvertUnicode(apiReturn); //注意parry的参数需要替换,其实blogid不要获取,是固定的。
var regexCategory = new Regex(@".*?category.*?>(\d+\.)?(?<cata>.*?)</a>",
RegexOptions.Singleline | RegexOptions.Multiline);
var regexTag = new Regex(".*?tag.*?>(?<cata>.*?)</a>", RegexOptions.Singleline | RegexOptions.Multiline);
var matches = regexCategory.Matches(content);
var stringBuilder = new StringBuilder();
foreach (Match match in matches)
{
var catName = match.Groups["cata"].ToString();
if (catName == "Sugars") //一些分类的替换,可根据需要修改
{
catName = "开发技巧";
}
stringBuilder.AppendFormat("\r\n- {0}", catName);
}
if (matches.Count > 0)
{
strReturn = "categories:" + stringBuilder;
}
var stringBuilderTags = new StringBuilder();
var matchesTag = regexTag.Matches(content);
foreach (Match match in matchesTag)
{
var catName = match.Groups["cata"].ToString();
stringBuilderTags.AppendFormat("\r\n- {0}", catName);
}
if (!string.IsNullOrEmpty(strReturn))
{
strReturn += "\r\n";
}
if (matchesTag.Count > 0)
{
strReturn += "tags:" + stringBuilderTags + "\r\n- 我的博客园文章"; //导入的文章添加了默认的 tag,可去除。
}
return strReturn;
}