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点击下载后,复制 ...
随机推荐
- NOI2014 全国互测Round2
数据包:http://pan.baidu.com/s/1pJNSkL9 T1: 我们先直接用矩阵快速幂暴力 首先是0维,f1=1,f2=1 然后推出下一维的f1'和f2' 下一维的f1'和f2'其实就 ...
- Spring中HibernateCallback的用法(转)
Hibernate的复杂用法HibernateCallback HibernateTemplate还提供一种更加灵活的方式来操作数据库,通过这种方式可以完全使用Hibernate的操作方式.Hiber ...
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- Linux命令zip和unzip
问题描述: 使用Linux中命令zip和unzip 问题解决: 命令名: zip 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][- ...
- uva 10205 模拟
模拟题 题目描述挺长的.... #include <cstdio> #include <cstdlib> #include <cmath> #include < ...
- httpClient无证书访问
1.当不需要使用任何证书访问https网页时,只需配置信任任何证书 HttpClient http = new HttpClient(); String url = "https://pay ...
- php浮点数精确运算
php浮点数精确运算 Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(strin ...
- StringBuffer 和 StringBuilder
如果你读过<Think in Java>,而且对里面描述HashTable和HashMap区别的那部分章节比较熟悉的话,你一定也明白了原因所在.对,就是支持线程同步保证线程安全而导致性能下 ...
- java基础知识回顾之javaIO类--RandomAccessFile类
java.io 类 RandomAccessFile java.lang.Object java.io.RandomAccessFile1.该类不是IO流中的子类.2.该类既能读又能写.3.该对象内部 ...
- POJ2965The Pilots Brothers' refrigerator
http://poj.org/problem?id=2965 这个题的话,一开始也不会做,旁边的人说用BFS,后来去网上看了众大神的思路,瞬间觉得用BFS挺简单易:因为要让一个“+”变为“-”,只要将 ...