蝴蝶效应-虎的博客
博客信息

HttpClient模拟百度搜索和点击,模拟百度SEO优化(自动翻页)(一)

0
发布时间:『 2019-09-22 13:39』  博客类别:Httpclient提高分享  阅读(2232) 评论(0)

前言

    最近没事,做了一个网站,但是很久也没有流量,比较郁闷,闲来无事,研究了一下如何提升百度流量和关键词排名的方法,结果发现了一个叫做百度快排的方法,可以快速提升百度的流量和关键词排名,作为资深的爬虫专家,准备使用Java HttpClient模拟百度搜索和点击,实现百度SEO优化。

     百度快排, 大概就是提升关键词(一般只针对排名在百度前50的关键词)从百度产生的导流量,跳出率,访问IP, UV等数据,快速提升百度排名的方法,因为纯属模拟人工点击,和正常访问没有差异,一般不会被百度发现和惩罚,是比较快的提升百度排名的方法,好了,多的不说了,下面讲讲研究的过程和结果。

模拟访问网站页面

    因为我的网站添加了百度统计,模拟的访问需要被百度发现,那么肯定是需要被百度统计数据发现,第一个难点,就是如何模拟手动点击,并且被百度统计统计到。

    首先,抓取网站请求截图,可以看到,每次请求页面后,会请求一个百度统计的链接,把数据发送给百度统计:

image.png

   链接的格式如https://hm.baidu.com/hm.gif,虽然请求的是.gif的格式,但其实是一个发送点击数据给百度统计的一个链接,所以要实现模拟人工点击,就主要是要解决正确成功请求https://hm.baidu.com/hm.gif,并且得到正确的结果,好的,既然原理是这样,那么下一步,就开始实现用代码模拟,看看效果。

    选择使用Java HttpClient4.X工具来模拟点击,因为 HttpClient4.X的工具之后,每次请求页面的缓存会自动被HttpClient自动管理起来,不用再担心每次请求的Cookie的问题,是比较方便的,适合用来模拟人工点击,大概代码如下:

    代码中的网站均为例子,仅供参考,请勿全部Copy。

 
try {
 
            g1 = new HttpGet("https://hm.baidu.com/hm.gif?cc=1&ck=1&cl=24-bit&ds=1920x1080
            &vl=916&ep=21673%2C9992&et=3&fl=27.0&ja=0&ln=zh-cn&lo=0&lt=1569131222
            &rnd=1580626225&si=b0f234c2b33e76b44abc50061207a1a6
            &su=http%3A%2F%2Fwww.tech58.net%2F&v=1.2.61&lv=3&sn=26748
            &u=http%3A%2F%2Fwww.tech58.net%2Fdetail%2F2019-06-13%2Fxiaoerneiwai_20190613_9016.html") ;
            System.out.println(urls);
            g1.setHeader("Accept", "text/html, application/xhtml+xml, */*") ;
            g1.setHeader("Accept-Language", "zh-CN") ;
            g1.setHeader("Proxy-Connection", "Keep-Alive") ;
            g1.setHeader("User-Agent", webAgent) ;
             
            HttpResponse response2 = httpClient.execute(g1);
            String sg1 = EntityUtils.toString(response2.getEntity(),"utf-8") ;
            sg1 = StringRandomUtils.unicodeToString(sg1) ; 
 
             
            g1 = new HttpGet("http://www.tech58.net/") ;
            System.out.println(urls);
            g1.setHeader("Accept", "text/html, application/xhtml+xml, */*") ;
            g1.setHeader("Accept-Language", "zh-CN") ;
            g1.setHeader("Proxy-Connection", "Keep-Alive") ;
            g1.setHeader("User-Agent", webAgent) ;
             
            response2 = httpClient.execute(g1);
            sg1 = EntityUtils.toString(response2.getEntity(),"utf-8") ;
             
            if(response2.getStatusLine().getStatusCode() == 200 ){
                System.out.println("点击成功:"+urls);
                re = true;
                 
                 
            }else{
                System.out.println("点击失败1");
                errorinfo = "点击失败,无法访问网站,请换ip" ;
            }
             
        }catch(Exception e){
            System.out.println(e.toString());
            e.printStackTrace() ;
        }finally{
//          if(httpClient !=null){
//                 httpClient.getConnectionManager().shutdown();       
//             }
        }

     模拟的代码,基本是没多大问题了,可是测试了半天,也没有看到实际的效果,在百度统计中,没有看到模拟的效果,中间也修改了几次,加了几个链接,还是没有效果,原因是什么呢?

结果和原因

    仔细想了想,百度也是一个比较成熟的网站了,如果那么容易就被人模拟点击,并且随便刷SEO,竞价等,那么百度早就倒闭了,百度肯定针对这方面做了一些屏蔽,在请求的过程中,返回了一些没有没注意到的参数附加到了缓存,或者Cookie中,也许是加密参数,返回后,浏览器中的JS中得到这些数据后,会进一步的处理和再解密加密,然后再发送到服务端进行校验,要全部实现这个模拟过程,肯定是很复杂的,没我开始想的那么简单。

    当然,天下无难事,只怕有心人,只要是有迹可循的事情,总是会得到解决的方法的,再多次研究和尝试后,解决模拟点击的方法,还是被我找到了,敬请关注下一篇分享:HttpClient模拟百度搜索和点击,模拟百度SEO优化(自动翻页)(二)http://www.tech58.net/blog/articles/128.html


注明: 代码中的网站均为例子,仅供参考,不一定真实有效额,请勿全部Copy。


关键字:   Java     Java HttpClient     Java爬虫     模拟百度点击     模拟百度搜索     SEO优化  
评论信息
暂无评论
发表评论
验证码: 
博主信息
【蝴蝶效应-虎】
  年轻只有一次,但是梦想却可以奋斗一辈子!

博主寄语:也曾年少轻狂,无奈时光易老!希望将绵薄的技术分享进行到底。
有求必应:如果需要帮助,请给我留言,一定知无不言,言无不尽,请大家多多支持博主,谢谢。
分享无悔:如果有一天你可以回到过去,你还愿意成为现在的自己吗?不让自己后悔,时光无悔。
  • 36文章总数
  • 5486访问次数
  • 38建站天数
  • 友情链接
    Copyright © 2019-2025 蝴蝶效应-虎
    陕ICP备19011911号-2