1. 博客
  2. 爬虫技术
  3. 帖子详情

中国土地市场网爬虫——浏览器Cookie验证(简单)


中国土地市场网爬虫——浏览器Cookie验证,三次跳转,两次取得cookie的简单安全策略。三次链接跳转,取得两次cookie通过认证。


    很久以前研究过中国土地市场网(www.landchina.com),当时只抓取了一个城市的数据2万多条的数据,当时只是觉得服务器经常宕机,还没有发现有怎么反爬虫的限制。最近空闲准备把所以的数据抓取下来(大约250万的成交公告),发现网站做了些防爬虫的策略,同时发现网站快了很多,同时访问也变成了https协议。

    经过几天的摸索主要解决网站的三种防止爬虫策略

    1、通过cookie验证,三次跳转,两次取得cookie的简单安全策略。

    2、通过cookie验证,通过图片验证码取得cookie认证的高级安逸认识。

    3、通过woff字体对文章类容进行加密(土地公告)。


    第一种和第二种都是cookie访问限制,也只有带有合法的cookie才能访问数据,两者是切换限制;这里我先说明第一种解决方案,后期在讲解后面的方案。


第一次跳转:

    当我们直接请求链接 https://www.landchina.com/

返回数据:

<script type="text/javascript">
  function stringToHex(str) {
    ……
  }
  function YunSuoAutoJump() {
    ……
    var curlocation = window.location.href;
    if ( - 1 == curlocation.indexOf("security_verify_")) {
      document.cookie = "srcurl=" + stringToHex(window.location.href) + ";path=/;";
    }
   self.location = "/?security_verify_data=" + stringToHex(screendate);
   }
</script>
<script>
  setTimeout("YunSuoAutoJump()", 50);
</script>

看他的基本功能是在cookie添加了一个srcurl参数;然后在跳转到该链接添加security_verfy_data=参数;

并且返回cookie参数:security_session_verify=


第二次跳转:

    通过第一次YunSuoAutoJump()方法并且带有cookie访问https://www.landchina.com/?security_verfy_data=xxxxx

cookie包括security_session_verify和srcurl两个

返回数据:

<script type="text/javascript">
  function stringToHex(str) {
    ……
  }
  function YunSuoAutoJump() {
    ……
    var curlocation = window.location.href;
    if ( - 1 == curlocation.indexOf("security_verify_")) {
      document.cookie = "srcurl=" + stringToHex(window.location.href) + ";path=/;";
    }
   self.location = "/" ;
   }
</script>
<script>
  setTimeout("YunSuoAutoJump()", 50);
</script>

看返回的还是一次跳转,和第一次参不多,其目的也就是为了再次取得cookie

并且返回cookie参数:security_session_mid_verify=


第三次跳转:

    这里就跳转https://www.landchina.com/ 网站地址,这是这里的cookie多带了两个security_session_verify和security_session_mid_verify 其中只要security_session_mid_verify就可以;后期访问直接用security_session_mid_verify做完cookie值访问就可以;并且不用每次验证,只要当security_session_mid_verify失效过后在取得security_session_mid_verify就可以。


总结:通过两次取得cookie,三次跳转访问认证验证;我们就可以取得认证的cookie;当然我们也可以用模拟浏览器selenium浏览器自动进行跳转;然后取得浏览器中的cookie,两种方式都可行。当知己用请求的方式更快捷,并发性更高,而且加上IP代理更方便.


这里就不方便公布源码;,如果需要相关的代码和数据,可以联系作者。


TG微信号

可以一起做相关数据交流,和分析。

数据 通过 网站 爬虫 限制 中国土地市场

关于我

甘三数据网创始人-陈磊(tngou); 7年的互联网老兵,精通WBE技术、爬虫技技术、应用数据处理、大数据开发、自然语言处理与分析; 专业从事数据收集整理多年,并且和大家一起分享应用数据;海量数据,无限未来。

查看名片 →
热门文章
最新动态

陈磊个人信息


TG微信号