百度指数批量查询器。收费!!!?还是自己来吧。

     园子里的高手们,在园里潜水2年多了,今天出来透透气。这也是第二篇往首页推的东西,发个自制小工具帖,高手们就见笑了~~

     昨天,老大让我采集一些数据。然后,在那些数据里面找出百度指数比较高的,做专题。4000+的数据啊。一个一个去百度上找,那得找到猴年马月。因为是程序员,所以对这种重复性的东西,肯定不干的。

    因为百度指数应该也是一个比较出名的东西,应该会有一些类似批量查询的工具吧。所以,开始到网上找,“百度指数 批量查询 ”,还真有,没想到遍地都是,就尝试着下载了几个来看看。。结果,让我惊讶的是,这种工具,竟然都是收费的,最多一次就让你一次查询5-6个,所以,4000的数据量,肯定也是不允许的。

     当时我就纳闷许久,就只是一个查询工具而已,做起来的话,应该也就是模拟请求,然后,分析数据,找到想要的。这样的工具用得着收费吗?尝试了好几个之后,最终放弃了。花那些时间去找,自己写都写出来了,而且还能写得完善,且是自己需要的功能。 

    所以就开始动手。不过百度也还真是可恶,偏偏是我想要的那个数据的地方给加密了,加密了。并且还不止一层。不过,这些都难不倒我,因为之前有过WEB外挂(黄金时代辅助程序)的制作经验,这些东西马上就迎刃而解了,当然,工具是必不可少的,比如,

1.HTTPwatch,用这个抓请求,如果不用这个的话,你根本都不知道请求的地址是哪个,或者是找这个地址就得花上大半天的。

2.Mtracer,正则表达式测试工具,这个的话,对于新手是必不可少的,好处有1,强大的正则表达式工具,2,高亮关键字。有时候,自己写出来的正则表达式,自认为完美,可就是出错,找不到。就是因为其中包括被忽略的关键字。如果高亮了的话,一般还是能看到的。

    好了。在这里,就可以开始做模拟WEB请求类似的程序了,像什么农场,停车,还有(你知道的)。。。这些东西绰绰有余了。

    哦,忘记了一个最重要的东西,那就是模拟请求的类, 现在网上应该有N多的教程了。我贴了自己专用的吧。

模拟WEB请求的类
public class HttpClient : WebClient
{
// Cookie 容器
private CookieContainer cookieContainer;

/**/
/// <summary>
/// 创建一个新的 WebClient 实例。
/// </summary>
public HttpClient()
{
this.cookieContainer = new CookieContainer();
ServicePointManager.Expect100Continue
= false;
}

/**/
/// <summary>
/// 创建一个新的 WebClient 实例。
/// </summary>
/// <param name="cookie">Cookie 容器</param>
public HttpClient(CookieContainer cookies)
{
this.cookieContainer = cookies;
}

/**/
/// <summary>
/// Cookie 容器
/// </summary>
public CookieContainer Cookies
{
get { return this.cookieContainer; }
set { this.cookieContainer = value; }
}

/**/
/// <summary>
/// 返回带有 Cookie 的 HttpWebRequest。
/// </summary>
/// <param name="address"></param>
/// <returns></returns>
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request
= base.GetWebRequest(address);
if (request is HttpWebRequest)
{
HttpWebRequest httpRequest
= request as HttpWebRequest;
httpRequest.UserAgent
= "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; QQPinyinSetup 620; QQPinyin 730; CIBA; .NET CLR 2.0.50727; InfoPath.2)";
httpRequest.Accept
= "text/javascript, text/html, application/xml, text/xml, */*";
httpRequest.CookieContainer
= cookieContainer;
}
return request;
}
}
     

   这个应该是比较完善的。对于大多数网站,用这个应该是足够了,可能某些需要些一些特定的设置。这里我就解释不清了。一般的网站只会做user-agent判断,再厉害一点就是refer判断。其他的就不太清楚了。

    上午,这个东西已经属于成品了。贴个图让大家过过眼,是一个很小的工具。高手就别喷了。

     

呵呵,高手见笑了~~确实是很简单哈。。 鉴于现在网上现存的是收费的,暂时这个就不发布了,要的话,可以单发。

功能挺简单的,就一个导入,导出。并且导出,还没弄完善,比如要导出excel,或者SQL脚本啊,不过,导出可以导出指定的列。以\t结束,也就是一个TAB键,就算复制一下到excel也是可以的,所以暂时就没弄那么多了。怀着急切的心情,跟大家分享分享一下。

2011-2-16后序:

额,要发的人越来越多了,我都不知道怎么办了。这么多人回复。

中间有一段时间出现小插曲。。。

首先声明,此工具不是从百度官方请求得到,从第三方搜索得出。因为百度的gateway有5个参数,最后一个MD5加密的参数,凭我的技术,两个字,无解!庆幸的是第三方有高手破解,并可以查询。

但是,前面几个我确实是发过去了,结果是被百度给他们的IP都封了,导致第三方也无法查询,这里要说声对不起了。工具自然也无法使用了。

可是,最近再看的时候,可能是IP解禁了,貌似又可以用了。 现在我也不想再往外面发了,请大家都别向我咨询了。

    弄这个工具,纯属兴趣爱好,并无其他意思。   匿名评论已关。。

原文地址:https://www.cnblogs.com/fycayy/p/1828135.html