各大网站反爬手段汇总。

之前研究完时间久了就忘了,用那么就研究的js解密,回头全忘了太亏了。

简单写几笔。

0.大众点评

github链接(欢迎点star)

笔记1

笔记2

1.亚马逊

这个我没有实操,html页本身没有什么重点,比较简单。

主要是cookie会过期(ban),但是亚马逊在第一次访问的时候会给你一个session_id,它是由你的user-agent决定的。

这时候你只需在一开始的时候通过虚假user-agent大量获取session_id,用session_id作为cookie(只须)就可以进行访问。

在cookie失效的时候切换下一个session_id。

2.优酷

优酷的话,这里以优酷弹幕为例。

优酷弹幕首先是通过

                    o = {
                      pid: 0,
                      ctype: 10004,
                      sver: '3.1.0',
                      cver: 'v1.0',
                      ctime: (new Date).getTime(),
                      guid: f.a.getCookie('cna') ? f.a.getCookie('cna') : '',
                      vid: r,
                      mat: n,
                      mcount: 1,
                      type: 1
                    },

这段,来生成一段信息,值得一提的是这里 使用guid了cookie的cna信息。

这也就导致,这个方法(接口)会随着cookie的失效失效。

但是恰巧,这个cna信息是由本地生成发往服务器校验的;和亚马逊有点类似。

代码如下:

        key: 'cookieHandler',
        value: function (e, t, n, r) {
          if ('string' === typeof e && (r = n, n = t, t = e, e = window), 'undefined' === typeof n) return (n = e.document.cookie.match(new RegExp('(?:\\s|^)' + t + '\\=([^;]*)'))) ? decodeURIComponent(n[1]) : null;
          var i,
          o = '';
          (r = r || {
          }).expires && ((i = new Date).setTime(i.getTime() + 24 * r.expires * 60 * 60 * 1000), o = '; expires=' + i.toGMTString());
          var a = r.path ? '; path=' + r.path : '',
          u = r.domain ? '; domain=' + r.domain : '',
          l = r.secure ? '; secure' : '';
          e.document.cookie = [
            t,
            '=',
            encodeURIComponent(n),
            o,
            a,
            u,
            l
          ].join('')
        }
      },

通过this.cookieHandler(‘cna’)就可以获取到cna信息。

3.腾讯视频

腾讯视频的弹幕没有任何加密哈哈哈

4.QQ音乐

QQ音乐歌单信息:

首先检查请求:

响应中有歌曲信息:

可以看出有加密参sign。检查sign参数路径:

在music.js的1548行有sign为g,而查看music.js则可以发现g为getSecuritySign()获取了sign。

检查后发现与输出一致。


2 条评论

abin · 2021-05-22 16:12

Unknown Unknown Unknown Unknown

亚马逊还是对ip有限制的,然后每次返回的内容也会在次数多了之后给一些假数据

    Sniper · 2021-05-23 10:53

    Unknown Unknown Unknown Unknown

    不会,提前生成一堆sessionid后,封了就换,不会涉及假数据。这个方法做到过日采集千万。

回复 abin 取消回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注