博客转发小工具1

【转】博客转发小工具1

有些朋友在转发别人博客的时候会问,博客怎么转发的啊?让我一段一段的复制吗?那图片怎么办?隐藏代码要一个一个的打开了复制?

对,很麻烦。费时费力。有的同学会说收藏不就可以了吗?收藏只是收藏了别人的地址,并没有收藏人家的全部内容。如果人家删除原文章,那就等于白收藏了。

我不知道 博客园有没有一键转发的功能,反正我是没找到的。于是,闲来无事,做了个博客转发小工具。

其实很简单,分三步。

一:取得页面内容

取页面内容需要用到HtmlAgilityPack.dll 详细用法可以百度之。

 1          /// <summary>
 2         /// 抓取方法
 3         /// </summary>
 4         /// <param name="url">url地址</param>
 5         /// <returns></returns>
 6         public Result getList(string url)
 7         {
 8             if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(url.Trim()))
 9                 return null;//如果url为空 则立刻返回
10             Result result = new Result();
11             HtmlWeb htmlWeb = new HtmlWeb();
12             try
13             {
14                 HtmlAgilityPack.HtmlDocument htmlDoc = htmlWeb.Load(url);
15                 result.url = url;
16                 result.content = htmlDoc.DocumentNode.SelectSingleNode("//div[@id=‘cnblogs_post_body‘]").InnerHtml;//这里是去div id为cnblogs_post_body的全部内容  也就是我们发布的博客全部内容
17                 result.title = htmlDoc.DocumentNode.SelectSingleNode("//a[@id=‘cb_post_title_url‘]").InnerText; //取标题
18             }
19             catch (Exception) { return null; }
20             return result;
21         }

二:复制页面内容

Clipboard.SetText(txt_content.Text);//把内容复制到粘贴板

三:粘贴内容发布

这里就没有我的事了。你自己去后台发布就ok了。

不过发布的时候要注意了。粘贴的时候一定要切换到html模式。

贴图了

这里贴出全部代码,因为代码量非常少,就放一个文件了。

 1 using HtmlAgilityPack;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.ComponentModel;
 5 using System.Data;
 6 using System.Drawing;
 7 using System.Text;
 8 using System.Windows.Forms;
 9
10 namespace 博客转发
11 {
12     public partial class Form1 : Form
13     {
14         public Form1()
15         {
16             InitializeComponent();
17         }
18
19         private void button1_Click(object sender, EventArgs e)
20         {
21             //string url = @"http://www.cnblogs.com/zhaopei/p/4174811.html";
22             Result re = getList(txt_url.Text);
23             if (re == null)
24             {
25                 MessageBox.Show("请输入正确博客园的博客地址~"); return;
26             }
27             string str = @"<a href=‘" + re.url + "‘>【转】" + re.title + "</a><br/>";
28             txt_content.Text = str + re.content;
29             txt_title.Text = "【转】" + re.title;
30             Clipboard.SetText(txt_content.Text);//把内容复制到粘贴板
31             MessageBox.Show("已经成功复制到粘贴板~");
32         }
33
34         /// <summary>
35         /// 抓取方法
36         /// </summary>
37         /// <param name="url">url地址</param>
38         /// <returns></returns>
39         public Result getList(string url)
40         {
41             if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(url.Trim()))
42                 return null;//如果url为空 则立刻返回
43             Result result = new Result();
44             HtmlWeb htmlWeb = new HtmlWeb();
45             try
46             {
47                 HtmlAgilityPack.HtmlDocument htmlDoc = htmlWeb.Load(url);
48                 result.url = url;
49                 result.content = htmlDoc.DocumentNode.SelectSingleNode("//div[@id=‘cnblogs_post_body‘]").InnerHtml;//这里是去div id为cnblogs_post_body的全部内容  也就是我们发布的博客全部内容
50                 result.title = htmlDoc.DocumentNode.SelectSingleNode("//a[@id=‘cb_post_title_url‘]").InnerText; //取标题
51             }
52             catch (Exception) { return null; }
53             return result;
54         }
55     }
56
57     public class Result
58     {
59         /// <summary>
60         /// 链接
61         /// </summary>
62         public string url { get; set; }
63         /// <summary>
64         /// 标题
65         /// </summary>
66         public string title { get; set; }
67         /// <summary>
68         /// 正文内容
69         /// </summary>
70         public string content { get; set; }
71     }
72 }

程序下载 密码:5c6q  源码下载 密码:60fr

如果大家有兴趣可以在此基础上进行自己的扩展和修改。

原文地址:https://www.cnblogs.com/orangehero/p/10354217.html

时间: 2024-10-07 04:15:01

博客转发小工具1的相关文章

博客转发小工具2

[转]博客转发小工具2 昨天发了一个博客转发小工具有朋友说"能一键转发到各主流媒体站上就更好了".一开始我以为会能难,需要登录啊还有cookie的管理啊模拟post请求啊,乱七八糟一大堆.心想算啦,太累人,还不一定搞得定.后来心里总想着有没有什么简单的办法,就在网上查资料.最后皇天不负有心人让我找到了HttpClient. ok,接着昨天的来.昨天的只能获取别人文章的内容复制到粘贴板.今天让它能一键发布. 首先需要解决的问题就是登录问题,不然可能是不能发布的. 登录博客园的代码 1 /

【转】博客转发小工具1

[转]博客转发小工具1 有些朋友在转发别人博客的时候会问,博客怎么转发的啊?让我一段一段的复制吗?那图片怎么办?隐藏代码要一个一个的打开了复制? 对,很麻烦.费时费力.有的同学会说收藏不就可以了吗?收藏只是收藏了别人的地址,并没有收藏人家的全部内容.如果人家删除原文章,那就等于白收藏了. 我不知道 博客园有没有一键转发的功能,反正我是没找到的.于是,闲来无事,做了个博客转发小工具. 其实很简单,分三步. 一:取得页面内容 取页面内容需要用到HtmlAgilityPack.dll 详细用法可以百度

博客备份小工具3

[转]博客备份小工具3 接着 博客转发小工具2 ,又弄了一个第三版.主要功能有:博客备份到本地.浏览备份到本地的博客.关键字搜索本地的博客和转发博客可以选择个人分类 填写Tag标签.其实想了想,转发博客干嘛非要在本地客户端转发,直接在博客园的页面用js不就可以达到目的么.想是这么想,还没尝试.等我写完了这个博客就去试试..继续回到这个小工具,说实在的本人做的这个小工具界面丑的那是..反正就是很丑很丑啦.没办法,没有美工的那种艺术细胞.还有就是,整个功能其实真没什么技术含量,还是html的抓取,w

利用MetaWeblog API 自制博客发布小工具

博客园提供了诸多数据接口, 利用这些接口可以很容易的实现博客的发布,修改,删除等 1.需要引用一个DLL:为CookComputing.XmlRpcV2 2.新建一个类,在其中是一些要实现的东西,如: 3.调用这些接口发布一篇简单的博客,其中的URL应该是你的博客设置里的 在下方的账号与密码处填上你的账号与密码 4.查看结果

为知笔记 | [插件]发布笔记到博客,更好的博客离线撰写工具

23 二 1 --> [插件]发布笔记到博客,更好的博客离线撰写工具 2011-02-23 功能特性 为知笔记支持绝大部分的博客离线撰写,可以方便地把笔记直接发布为博客. 使用 打开您已经在Wiz的撰写好的文章,然后点击“分享”按钮-发布到博客,如下图: 选择“发布到博客”,出现如下对话框: API地址:就是博客离线撰写发布的API地址,通常每一个博客的API地址都不相同,您可以从博客的帮助里面获得.下面是常用的一些博客API地址:  常用博客 API地址 新浪博客 http://upload.

博客园小技巧

1.博客园小技巧 2.半成品博客皮肤(不知有没有继续下去的必要)

11个最流行的静态(博客)网站生成工具

11个最流行的静态(博客)网站生成工具 最近特别流行使用静态网站搭建博客,本博客就是host在GitHub Pages的静态网站.静态网站非常适合专注于内容的网站,例如,博客.那你可能会问,为什么不用大名顶顶的wordpress(动态网站)呢. 静态网站和动态网站相比有如下好处: 省钱.静态网站占用的系统资源少.如果挂到github pages上,只要注册一个域名就可以了. 速度快.不经过php解析器,不用数据库,速度自然比动态网站快 安全.由于静态网站的简洁,免疫很多web攻击方式. 服务器端

王大仙的博客园小仓鼠

今天手敲了一套博客园的css样式,网上搜到的小仓鼠挺有意思,自己稍作改装,粘贴上就可以用 附上代码: <style type="text/css"> #shhamster{ background: #a8c1d8;border-radius:10px; } #shhamster:hover{ border-radius: 5px;border: red 1px solid;background: orange; } </style> <div id=&qu

网站开发的福音:流行的静态(博客)网站生成工具

最近特别流行使用静态网站搭建博客,静态网站非常适合专注于内容的网站,例如,博客.那你可能会问,为什么不用大名顶顶的wordpress(动态网站)呢. 静态网站和动态网站相比有如下好处: 省钱.静态网站占用的系统资源少.如果挂到github pages上,只要注册一个域名就可以了. 速度快.不经过php解析器,不用数据库,速度自然比动态网站快 安全.由于静态网站的简洁,免疫很多web***方式. 服务器端配置简单.只需要一个web server(apache.nginx). 非常容易维护. 静态网