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

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

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

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

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也很不错。

最后界面如下

c#模拟百度电击器方案的更多相关文章

  1. python--selenium简单模拟百度搜索点击器

    python--selenium简单模拟百度搜索点击器 发布时间:2018-02-28 来源:网络 上传者:用户 关键字: selenium 模拟 简单 点击 搜索 百度 发表文章摘要:用途:简单模拟 ...

  2. Splinter学习--初探1,模拟百度搜索

    Splinter是以Selenium, PhantomJS 和 zope.testbrowser为基础构建的web自动化测试工具,基本原理同selenium 支持的浏览器包括:Chrome, Fire ...

  3. C#模拟百度登录并到指定网站评论回帖(五)

    前面的四篇已经说完了全部的模拟百度登录,接下来就是到指定的网站去发表评论,当然你也可能是获取其他信息,其实这些套路都是万变不离其宗的,弄懂之后觉得像这种请求-响应获取信息的功能实在很简单(想起当初走的 ...

  4. POST模拟百度登录和自动发帖

    这里用HttpClient发包模拟百度登录和发帖,验证码部分采用机器下载人工识别. 登陆百度的原理:1. 访问https://passport.baidu.com/v2/api/?getapi& ...

  5. Webbrowser模拟百度一下子点击事件

    Webbrowser模拟百度一下点击事件新建一个form,有一个button和一个webbrowser控件.然后webbrowser一开始加载的就是百度主页.然后在文本框里输入点东西,如何做到点击bu ...

  6. 百度智能手环方案开源(含源码,原理图,APP,通信协议等)

    分享一个百度智能手环开源项目的设计方案资料. 项目简介 百度云智能手环的开源方案是基于Apache2.0开源协议,开源内容包括硬件设计文档,原理图.ROM.通讯协议在内的全套方案,同时开放APP和云服 ...

  7. 前端 ---- js 模拟百度导航栏滚动案例

    模拟百度导航栏滚动监听 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  8. JavaScript-dom3 json_str dom元素控制 模拟百度搜索

    访问关系-封装代码 html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  9. Ubuntu 16.04使用百度云的方案

    Ubuntu没有很好的解决方案,都是一些投机取巧的方案: 1.不建议安装百度云客户端,尤其对于免费用户来说,会限制速度. 2.可以使用网页版进行文件上传. 3.下载可以通过Chrome点击下载后,复制 ...

随机推荐

  1. 基于FPGA的线阵CCD图像测量系统研究——笔记

    本文是对基于FPGA的线阵CCD图像测量系统研究(作者:高尚)的阅读笔记 第一章绪论 1. 读读看 读了前面的摘要依然没有看懂作者要做什么.接着往下读....终于看到了一个字眼“基于机器视觉的图像测量 ...

  2. LintCode-Median II

    Numbers keep coming, return the median of numbers at every time a new number added. Example For numb ...

  3. jquery 实现层级下拉框联动效果 代码

    <select name="fCareId" id="fCareId"> <option selected="selected&qu ...

  4. 使用异步 I/O 大大提高应用程序的性能

    使用异步 I/O 大大提高应用程序的性能 学习何时以及如何使用 POSIX AIO API Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出之后,应用程序就会阻 ...

  5. IOS版UC我的视频地址

    UC浏览器/Library/Application Support/offlineVideos

  6. MATERIALIZED VIEW

    Oracle的实体化视图提供了强大的功能,可以用在不同的环境中,实体化视图和表一样可以直接进行查询.实体化视图可以基于分区表,实体化视图本身也可以分区. 主要用于预先计算并保存表连接或聚集等耗时较多的 ...

  7. Java 理论和实践: 了解泛型

    转载自 : http://www.ibm.com/developerworks/cn/java/j-jtp01255.html 表面上看起来,无论语法还是应用的环境(比如容器类),泛型类型(或者泛型) ...

  8. https 方式使用git@osc设置密码的方式

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...

  9. Ubuntu环境下Nutch1.2 二次开发(添加中文分词)

    前提nutch1.2已部署到eclipse中 详见:http://www.cnblogs.com/cy163/archive/2013/02/19/2916419.html 1 部署IKAnalyze ...

  10. hdu 4430 Yukari's Birthday

    思路: 分析知道1<=r<40:所以可以枚举r,之后再二分k. 代码如下: #include<iostream> #include<stdio.h> #includ ...