当前位置:  编程技术>.net/c#/asp.net

Asp.Net、asp实现的搜索引擎网址收录检查程序

    来源: 互联网  发布时间:2014-08-25

    本文导语:  使用asp.net或者asp检查某个url地址,某篇文章是否被搜索引擎,如百度,谷歌,搜狗收录。 实现原理:直接搜索你那篇文章的url地址(不带协议,但上协议也行,代码会自动去掉协议内容),如果被索引会返回搜索结果,否则...

使用asp.net或者asp检查某个url地址,某篇文章是否被搜索引擎,如百度,谷歌,搜狗收录。

实现原理:直接搜索你那篇文章的url地址(不带协议,但上协议也行,代码会自动去掉协议内容),如果被索引会返回搜索结果,否则会提示找不到信息。

Asp.Net检查百度,谷歌,搜狗搜索引擎是否收录文章网址源代码:

using System;
using System.Net;
using System.Text;
using System.IO;
using System.Web;
public class SearchEngineIndex
{
  public static string[] urls = { //搜索引擎检查地址
      "http://www.baidu.com/s?ie=utf-8&wd=",//百度索引url检查地址
      "https://www.google.com.hk/search?q=",//谷歌索引url检查地址
      "http://www.sogou.com/web?ie=utf8&query="//搜狗索引url检查地址
    }
    , noFindKeyword = { "抱歉,没有找到与", "找不到和您的查询", "未收录?" };//搜索引擎未索引url地址时的关键字
  /// 
  /// 获取响应的编码
  /// 
  /// 
  /// 
  private static Encoding GetEncoding(string contenttype)
  {
    if (!string.IsNullOrEmpty(contenttype))
    {
      contenttype = contenttype.ToLower();
      if (contenttype.IndexOf("gb2312") != -1 || contenttype.IndexOf("gbk") != -1) return Encoding.GetEncoding(936);
      if (contenttype.IndexOf("big5") != -1) return Encoding.GetEncoding(950);
    }
    return Encoding.UTF8;
  }
  /// 
  /// 使用HttpWebRequest对象,自动识别字符集
  /// 
  /// 
  /// 是否添加UserAgent,采集其他网站时防止被拦截
  /// 
  public static string GetHtml(string url, bool addUseragent)
  {
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
    if (addUseragent) request.UserAgent = "Googlebot|Feedfetcher-Google|Baiduspider";
    string html = null;
    try
    {
      HttpWebResponse response = (HttpWebResponse)request.GetResponse();
      StreamReader srd = new StreamReader(response.GetResponseStream(), GetEncoding(response.ContentType));
      html = srd.ReadToEnd();
      srd.Close();
      response.Close();
    }
    catch { }
    return html;
  }
  /// 
  /// 检查某个url是否被搜索引擎索引
  /// 
  /// url地址
  /// 0:百度 1:谷歌 2:搜狗,其他搜索引擎如bing和360直接查网址显示的结果不是直接得到网址的,有些出入,不做检查
  /// 
  public static bool CheckIndex(string url, int engin)
  {
    if (string.IsNullOrEmpty(url)) return false;
    if (engin < 0 || engin > 2) engin = 0;
    url = urls[engin] + HttpUtility.UrlEncode(url.ToLower().Replace("http://", "").Replace("https://", ""));
    bool r = true;
    string html = GetHtml(url, true);
    if (html == null || html.IndexOf(noFindKeyword[engin]) != -1) r = false;
    return r;
  }
}



//调用方法示例

    SearchEngineIndex.CheckIndex("www./article/20101014/2902.aspx", 0);//检查百度索引
    SearchEngineIndex.CheckIndex("www./article/20101014/2902.aspx", 1);//检查谷歌索引
    SearchEngineIndex.CheckIndex("www./article/20101014/2902.aspx", 2);//检查搜狗索引

Asp检查百度,谷歌,搜狗搜索引擎是否收录文章网址源代码:



    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在ASP中可以轻易实现,不知道在JSP中能否实现?
  • Linux平台下哪种方法实现ASP好?
  • 求解!Java如何能在多个applet之间实现类似asp的session类!
  • 调试jsp的时如何实现像asp中的response.end的效果
  • 怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!
  • 在jsp 中如何实现像asp 中的页面弹出式的菜单
  • asp.net 参数不同共用一个页面的实现方法
  • Asp.net防止重复提交的实现方法
  • 用linux做服务器运行ASP.net网站,请问具体怎样实现??
  • ASP.NET MVC3 实现全站重定向的简单方法
  • 在jsp中如何实现与asp中的Request.ServerVariables("SCRIPT_NAME")同等的功能?
  • java/j2ee iis7站长之家
  • 如何实现ASP中类似Global.asa的功能???
  • jsp中如何实现asp中的response.end,或php中的exit()功能?
  • java实现的asp服务器 OpenASP
  • ASP的功能在JSP中怎么实现呀?谢谢!!!
  • asp去掉html,保留img br p div的正则实现代码
  • asp.net 实现php的md5()函数功能
  • asp.net session实现用户登录的疑问
  • 怎样将Tomcat嵌入IIS中,实现用ASP与JSP都用IIS来做!
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • ASP和ASP.Net共享Session解决办法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3