zoukankan      html  css  js  c++  java
  • c#模拟百度电击器方案

     核心提示: 我 们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度 得到一个很好的排名。 网络上也出现了百度自动排名点击器,不知道这个到底对排名有没有用,但是用程序来实现这个东西,还是很有意思的。 首先分析下百度搜索关键词...

       我们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度得到一个很好的排名。

       网络上也出现了百度自动排名点击器,不知道这个到底对排名有没有用,但是用程序来实现这个东西,还是很有意思的。

       首先分析下百度搜索关键词所提交的地址

    http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=这是关键词 FA&pn=(这是页数-1)&ver=0&cl=3&uim=6&usm=0 
      既然有了这个规律,那我们程序要在海量的搜索结果中找到我们的网址就不难了。

      找到地址的下一步就是点击了吧,在这里,我们就是用c#的webbrowser来模拟吧。

      我们先让webbrowser来打开我们得到的百度网址,让后找到我们网址的链接,自动点击。

        这就是这个的核心源码了:

     string keywords = this.textBox2.Text.ToString();
     url = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=" + keywords + "&pn=" + Convert.ToInt32(Convert.ToInt32(this.textBox3.Text.ToString()) - 1) + "0&ver=0&cl=3&uim=0&usm=0"; 

    //打开网址       
      this.webBrowser1.Navigate(url);

      //循环每个元素

    for (int i = 0; i < this.webBrowser1.Document.All.Count; i++)
                {

                    //获得链接
                    if (this.webBrowser1.Document.All[i].TagName.ToLower() == "a")
                    {

                        //判断链接是不是我们的网址
                        if (this.webBrowser1.Document.All[i].GetAttribute("href") == this.textBox1.Text.ToString())
                        {

                           //如果是,自动点击
                            webBrowser1.Document.All[i].InvokeMember("click");                     

                         }
                    }
                }

    自动点击就这么简单实现了,我们可以再加个timer,一段时间点一次。但是这样有个问题,我们的ip是固定的,百度估计也不会傻到一个ip点上几千次就把排名提上去了。所以最好还是ie设置代理。

      private void setProxy(string ip)
            {
                Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Internet Settings", true);
                //设置代理可用 
                rk.SetValue("ProxyEnable", 1);
                //设置代理IP和端口 
                rk.SetValue("ProxyServer", ip);
                rk.Close();
            }
            private void disProxy()
            {
                Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Internet Settings", true);
                //设置代理可用 
                rk.SetValue("ProxyEnable", 0);
                //设置代理IP和端口 
                rk.SetValue("ProxyServer", "");
                rk.Close();
            }

    这就是设置ie的代理的代码。到这里这个小工具就可以用了。

    其实这个改造一下,刷pv也很不错。

    最后界面如下

  • 相关阅读:
    Python课程回顾(day26)网络编程
    Python课程回顾(day27)
    Python课程回顾(day25)
    Python课程回顾(day24)
    Python课程回顾(day23)
    Python课程回顾(day22)
    Python课程回顾(day21)
    Python课程回顾(day20)
    Python课程回顾(day19)
    hive小tips(各种解析)
  • 原文地址:https://www.cnblogs.com/mvc2014/p/3775981.html
Copyright © 2011-2022 走看看