C#实现百度ping功能解决百度不抓取收录网站的问题

网站优化必做的事情之一,百度ping,主动推送给百度

文章添加时调用百度推送方法

        //保存
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (action == DTEnums.ActionEnum.Edit.ToString()) //修改
            {
                ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Edit.ToString()); //检查权限
                if (!DoEdit(this.id))
                {
                    JscriptMsg("保存过程中发生错误啦!", string.Empty);
                    return;
                }
                JscriptMsg("修改信息成功!", "article_list.aspx?channel_id=" + this.channel_id);
            }
            else //添加
            {
                ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Add.ToString()); //检查权限
                int id=DoAdd();  //此  id为添加文章返回的 此篇文章的id 需要修改添加文章的方法  返回id if (!(id>0))
                {
                    JscriptMsg("保存过程中发生错误!", string.Empty);
                    return;
                }
                //获取频道模板名称
                if (channel_id == 13 || channel_id == 16 || channel_id == 18 || channel_id == 25 || channel_id == 6)
                {
                    string channelTemp = new BLL.channel().GetModel(this.channel_id).name.ToString();
                    string articleUrl = new BasePage().linkurl(channelTemp + "_show", id);
                    string[] url = new string[100];
                    url[1] = "http://www.qishunnet.com" + articleUrl;//例如生成的url如http://www.qishunnet.com/knowledge_show_132.html
                    string info = DTcms.Common.BaiDu.sendUrlToBaidu(url);
                    JscriptMsg("添加信息成功!", "article_list.aspx?channel_id=" + this.channel_id + "&message=添加信息成功!百度推送返回信息=" + info + "url:" + url[1]);
                    return;
                }
                JscriptMsg("添加信息成功!", "article_list.aspx?channel_id=" + this.channel_id);
            }
        }

common类库增加百度ping方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DTcms.Common
{
    /// <summary>
    /// 百度相关类
    /// </summary>
    public class BaiDu
    {
        /// <summary>
        /// 推送链接至百度
        /// </summary>
        /// <param name="urls">链接集合</param>
        /// <returns></returns>
        public static string sendUrlToBaidu(string[] urls)
        {
            try
            {
                string formUrl = " http://data.zz.baidu.com/urls?site=www.qishunnet.com&token=FdSmdb3LRa4JitQp";

                string formData = "";

                foreach (string url in urls)
                {
                    formData += url + "\n";
                }

                byte[] postData = System.Text.Encoding.UTF8.GetBytes(formData);

                // 设置提交的相关参数
                System.Net.HttpWebRequest request = System.Net.WebRequest.Create(formUrl) as System.Net.HttpWebRequest;
                System.Text.Encoding myEncoding = System.Text.Encoding.UTF8;
                request.Method = "POST";
                request.KeepAlive = false;
                request.AllowAutoRedirect = true;
                request.ContentType = "text/plain";
                request.UserAgent = "curl/7.12.1";
                request.ContentLength = postData.Length;

                // 提交请求数据
                System.IO.Stream outputStream = request.GetRequestStream();
                outputStream.Write(postData, 0, postData.Length);
                outputStream.Close();

                System.Net.HttpWebResponse response;
                System.IO.Stream responseStream;
                System.IO.StreamReader reader;
                string srcString;
                response = request.GetResponse() as System.Net.HttpWebResponse;
                responseStream = response.GetResponseStream();
                reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("UTF-8"));
                srcString = reader.ReadToEnd();
                string result = srcString;   //返回值赋值
                reader.Close();
                return result;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
    }
}
时间: 2024-10-13 20:55:21

C#实现百度ping功能解决百度不抓取收录网站的问题的相关文章

scrapy抓取某些网站出现AttributeError_ object has no attribute 的解决办法的代码.txt

把写内容过程中经常用的内容段备份一下,下面的内容内容是关于scrapy抓取某些网站出现AttributeError: 'Response' object has no attribute 'body_as_unicode'的解决办法的内容,应该是对码农们也有用. def parse(self, response): hxs=Selector(response) for url in detail_url_list: if 'goods' in url: yield Request(url, ca

百度云文章的链接地址抓取工具

百度空间的文章,被转移到百度云中了,连更新也不行.生怕哪天连云里都不在了,想把内容转出来,结果还没有太好的方法.特别是空间是动态扩展的,想一次把地址抓出来都不容易.最后,不得不自己写了小程序,试验发现,页面动态扩展后,body.all.outerHTML的内容还是初始状态的,但DOM对象中的内容却是最新的.于是,采用遍历所有Tag的方式,把需要的链接抓取下来. 程序及VB源码: 下载

解决Jsoup网页抓取过程中需要cookie的问题

最近在做城觅网的信息抓取,发现城觅网上海与北京的url是一样的.那怎样才确定信息的来源呢?折腾了半天,才发现城觅网是使用cookie的,如果你把网站的cookie禁用了,就无法在上海与北京之间切换了. 于是便想到了请求时将cookie带上.方法如下: 第一步,拿到上海或者北京的cookie Map<String, String> cookies = null; Response res = Jsoup.connect("http://www.chengmi.com/shanghai&

iOS 解决Charles无法抓取Xcode6的Simulator数据包问题

官网给出解决办法:http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/ 1.charles->Help -> Install Cahrles CA SSL Certificatein iOS Simulators (charles 3.9.3以上) 2.重启模拟器

解决fiddler不能抓取eclipse发出接口请求的问题

使用eclipse执行接口时,发现在fiddler里面抓不到这些请求. 网上找了很多资料都是让在Eclipse 中设置:Windows > Preferences > Java > Installed JREs ,选中Installed JREs > Edit > 设置Default VM arguments: -Dhttp.proxySet="true" -Dhttp.proxyHost="127.0.0.1" -Dhttp.prox

selenium配合phantomjs实现爬虫功能,并把抓取的数据写入excel

# -*- coding: UTF-8 -*- ''' Created on 2016年5月13日 @author: csxie ''' import datetime from Base import BasePage import ExcelOperation as excel from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.expected_conditions

wget整站抓取、网站抓取功能

wget -r   -p -np -k -E  http://www.xxx.com 抓取整站 wget -l 1 -p -np -k       http://www.xxx.com 抓取第一级 -r 递归抓取-k 抓取之后修正链接,适合本地浏览 http://blog.sina.com.cn/s/blog_669fb0c3010137bq.html wget -m -e robots=off -k -E "http://www.abc.net/"可以将全站下载以本地的当前工作目录,

DedeCMS添加Sitemap自动生成+百度ping推送功能

织梦的后台无法自动生成Sitemap,也不支持百度Ping,今天这篇就是教大家添加为DedeCMS自动生成Sitemap+ping百度功能 ,Sitemap工具可以改善收录,最新发布文章可以通过ping机制ping给百度,以区分谁是原创作者.   Sitemap自动生成 虽 然织梦后台也自带自动生成地图的功能,但是那就是个生成栏目目录的,并不能实现我们要的Sitemap地图,而也有不少人常用其他地图生成工具, 这样一来又要上传,每天都要生成.上传,非常麻烦.那么,余斗接下里提供xml和html的

新站怎样快速被百度抓取

如何让百度快速抓取?相信很多建新站的新手站长们都会对这个问题发愁,下面就是我的一些心得,因为这个站我也建了快有3个月了,从买下这个域名和空间一直到今天发这篇文章为止快有三个月时间了.这两月啥也没干就是成天鼓掏这个网站,两个月也走了很多弯路.其实有些弯路是多走的,因为我根本没有按照前辈的老路去走,而是尝试了很多错误的方法和路子才逐渐走到正确的道路上来的.人有些时候就是这样,不撞南墙不回头.好了,下面就看看我怎么记百度来快速抓取的方法: seo实战教程 一.发好的文章主动提交到百度,主动邀请百度蜘蛛