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也很不错。
最后界面如下
c#模拟百度电击器方案的更多相关文章
- python--selenium简单模拟百度搜索点击器
python--selenium简单模拟百度搜索点击器 发布时间:2018-02-28 来源:网络 上传者:用户 关键字: selenium 模拟 简单 点击 搜索 百度 发表文章摘要:用途:简单模拟 ...
- Splinter学习--初探1,模拟百度搜索
Splinter是以Selenium, PhantomJS 和 zope.testbrowser为基础构建的web自动化测试工具,基本原理同selenium 支持的浏览器包括:Chrome, Fire ...
- C#模拟百度登录并到指定网站评论回帖(五)
前面的四篇已经说完了全部的模拟百度登录,接下来就是到指定的网站去发表评论,当然你也可能是获取其他信息,其实这些套路都是万变不离其宗的,弄懂之后觉得像这种请求-响应获取信息的功能实在很简单(想起当初走的 ...
- POST模拟百度登录和自动发帖
这里用HttpClient发包模拟百度登录和发帖,验证码部分采用机器下载人工识别. 登陆百度的原理:1. 访问https://passport.baidu.com/v2/api/?getapi& ...
- Webbrowser模拟百度一下子点击事件
Webbrowser模拟百度一下点击事件新建一个form,有一个button和一个webbrowser控件.然后webbrowser一开始加载的就是百度主页.然后在文本框里输入点东西,如何做到点击bu ...
- 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
分享一个百度智能手环开源项目的设计方案资料. 项目简介 百度云智能手环的开源方案是基于Apache2.0开源协议,开源内容包括硬件设计文档,原理图.ROM.通讯协议在内的全套方案,同时开放APP和云服 ...
- 前端 ---- js 模拟百度导航栏滚动案例
模拟百度导航栏滚动监听 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- JavaScript-dom3 json_str dom元素控制 模拟百度搜索
访问关系-封装代码 html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- Ubuntu 16.04使用百度云的方案
Ubuntu没有很好的解决方案,都是一些投机取巧的方案: 1.不建议安装百度云客户端,尤其对于免费用户来说,会限制速度. 2.可以使用网页版进行文件上传. 3.下载可以通过Chrome点击下载后,复制 ...
随机推荐
- Spring中@Transactional事务回滚实例及源码
一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除 ...
- 一个简单的脚本让你的ubuntu14.04记忆屏幕亮度
小弟献丑,发个没技术含量的.本人电脑是联想y400,无论是安装32位的ubuntu还是64位的ubuntu,无论是13.04还是现在的 14.04开发者版本,都无法让我的小y实现记忆屏幕亮度这个简单的 ...
- UpdateData(false) and UpdateData(true)
数据更新函数: UpdateData(false); 控件的关联变量的值传给控件并改变控件状态(程序--->EXE) UpdateData(true); 控件的状态传给其关联的变量(EXE--- ...
- 10.30Daily Scrum
出席人员 任务分配完成情况 明天任务分配 王皓南 研究代码,讨论实现方法及实现的动能 研究代码,学习相应语言,讨论设计思路 申开亮 研究代码,讨论实现方法及实现的动能 研究代码,学习相应语言,讨论设计 ...
- 打造自己的程序员品牌(摘自Infoq)
John Sonmez是Simple Programmer的创始人.作者与程序员,关注于如何让复杂的事情变得简单.他是一位专业的软件开发者.架构师与讲师,感兴趣的领域包括测试驱动开发.如何编写整洁的代 ...
- 【转】jquery-取消冒泡
转自:http://blog.163.com/css_mm/blog/static/209182176201262665157634/ 1.通过返回false来取消默认的行为并阻止事件起泡. jQue ...
- listview中getview异步加载网络图片
前言:本以为异步加载挺简单,因为网上代码多,但真想要做好,还真不那么简单,从看代码到弄懂再到自己写,实在是有太多的东西需要学了,用了两天的时间,终于弄出来了,因为用到回调函数,所以理解起来可能难度有点 ...
- 设置google搜索打开链接时在新标签页显示
百度的搜索结果,打开链接都会在新的页面打开,但是google却直接在本页面打开,有时候我们打开的不一定是自己想要结果,又习惯性的把当前页面给关掉了......这只是习惯问题,可能国人有这个习惯.怎么设 ...
- 来吧,给你的Winform列表控件画个妆
前言 以前看别人的控件好看只有羡慕的份:以前觉得控件重绘是个很复杂的东西:以前知道MSDN很全面很专业却一直没有好好用起来: 作为初级程序猿,不能原地踏步,来吧,让我们一起把 TreeView 美化一 ...
- 消息传递选择:返回值 or 抛出异常
1.返回值 bool 不应该用来表示函数是否调用成功,而应该返回业务值,例如 IsExist,HasNext