今日头条文章采集软件(爬取老版今日头条数据)

优采云 发布时间: 2021-12-03 18:11

  今日头条文章采集软件(爬取老版今日头条数据)

  前言

  这里就不一一介绍每一步的具体操作了,因为在今天爬取老版头条数据的时候已经解释的很清楚了,所以这里只重点讲一下是怎么实现的。是的,如果想看具体步骤,请到我今天头条的文章内容,里面有很详细的介绍以及如何找到加密的js代码和api接口。

  Python3抓取今日头条文章视频数据,完美解决as、cp、_signature的加密方式

  QQ群聊

  855262907

  接口参数**

  找界面很简单,看我前言中的文章就知道怎么找了。最重要的是参数的**。

  

  参数名称效果值

  类别

  全部(用户文章 类型)

  profile_all

  utm_source

  用户来源

  头条

  visit_user_token

  用户令牌

  MS4wLjABAAAAvazHMceCo3MeM9IJbll231AC8GkJDcrd__iZFw2hi4o(直接从用户链接获取)

  max_behot_time

  翻页参数

  0(默认为0,后续为结果的max_behot_time值)

  _签名

  加密参数,用于比较访问的是哪个接口

  _02B4Z6wo00f01P6um9gAAIBD5.B97mLbnez-q59AAGApeUF3pSlwtwSgMM31ERSbUq4nAurGAbdCsEa34Q4SbYuL5lnFzvinOS2JFHeprAoHuhyeKjbh(算法)

  从这里可以看出只对_signature参数值进行了加密,其他的可以直接获取,所以这里只对_signature进行**,其他参数在后面的代码中获取。

  反向_signature参数

  直接中断调整,发现这里生成了_signature参数值。

  

  让我们将公式向上调整,看看他在这一步进行的计算。

  我发现计算的步骤在这里。这要简单得多。直接上源码,然后复制源码,模拟运行得到结果。

  

  

  JS源代码:

<p>var glb;

(glb = "undefined" == typeof window ? global : window)._$jsvmprt = function(b, a, e) {

function f() {

if ("undefined" == typeof Reflect || !Reflect.construct)

return !1;

if (Reflect.construct.sham)

return !1;

if ("function" == typeof Proxy)

return !0;

try {

return Date.prototype.toString.call(Reflect.construct(Date, [], (function() {}

))),

!0

} catch (b) {

return !1

}

}

function d(b, a, e) {

return (d = f() ? Reflect.construct : function(b, a, e) {

var f = [null];

f.push.apply(f, a);

var d = new (Function.bind.apply(b, f));

return e && c(d, e.prototype),

d

}

).apply(null, arguments)

}

function c(b, a) {

return (c = Object.setPrototypeOf || function(b, a) {

return b.__proto__ = a,

b

}

)(b, a)

}

function r(b) {

return function(b) {

if (Array.isArray(b)) {

for (var a = 0, e = new Array(b.length); a > 7 == 0)

return [1, d];

if (d >> 6 == 2) {

var c = parseInt("" + b[++a] + b[++a], 16);

return d &= 63,

[2, c = (d 6 == 3) {

var r = parseInt("" + b[++a] + b[++a], 16)

, n = parseInt("" + b[++a] + b[++a], 16);

return d &= 63,

[3, n = (d 11 ? (C = z[S--],

z[S] = z[S] >>> C) : _ > 9 ? z[++S] = !0 : _ > 7 ? (j = v(b, $),

$ += 2,

z[S] = z[S][j]) : _ > 0 && (C = z[S--],

z[S] = z[S] 1) {

(_ = x) 2)

(_ = x) > 10 ? z[++S] = void 0 : _ > 1 ? (C = z[S--],

z[S] = z[S] >= C) : _ > -1 && (z[++S] = null);

else if (_ > 1) {

if ((_ = x) 4 ? z[S -= 1] = z[S][z[S + 1]] : _ > 2 && (q = z[S--],

(_ = z[S]).x === L ? _.y >= 1 ? z[S] = M(b, _.c, _.l, [q], _.z, I, null, 1) : (z[S] = M(b, _.c, _.l, [q], _.z, I, null, 0),

_.y++) : z[S] = _(q))

} else {

var P;

if ((_ = x) > 14)

j = G[$],

(P = function a() {

var e = arguments;

return a.y > 0 ? M(b, a.c, a.l, e, a.z, this, null, 0) : (a.y++,

M(b, a.c, a.l, e, a.z, this, null, 0))

}

).c = $ + 4,

P.l = j - 2,

P.x = L,

P.y = 0,

P.z = c,

z[S] = P,

$ += 2 * j - 2;

else if (_ > 12)

q = z[S--],

I = z[S--],

(_ = z[S--]).x === L ? _.y >= 1 ? z[++S] = M(b, _.c, _.l, q, _.z, I, null, 1) : (z[++S] = M(b, _.c, _.l, q, _.z, I, null, 0),

_.y++) : z[++S] = _.apply(I, q);

else if (_ > 5)

C = z[S--],

z[S] = z[S] != C;

else if (_ > 3)

C = z[S--],

z[S] = z[S] * C;

else if (_ > -1)

return [1, z[S--]]

}

} else if (_ >= 2,

_ > 2)

(_ = x) 0) {

if ((_ = x) 2)

z[S--] ? $ += 4 : $ += 2 * (j = G[$]) - 2;

else if (_ > 0) {

for (j = G[$],

C = "",

D = n.q[j][0]; D 0) {

(_ = x) > 12 ? (C = z[S - 1],

q = z[S],

z[++S] = C,

z[++S] = q) : _ > 3 ? (C = z[S--],

z[S] = z[S] == C) : _ > 1 ? (C = z[S--],

z[S] = z[S] + C) : _ > -1 && (z[++S] = h)

} else {

(_ = x) > 13 ? (z[++S] = G[$],

$ += 4) : _ > 11 ? (C = z[S--],

z[S] = z[S] >> C) : _ > 9 ? (j = G[$],

$ += 2,

C = z[S--],

c[j] = C) : _ > 7 ? (j = G[$],

$ += 4,

q = S + 1,

z[S -= j - 1] = j ? z.slice(S, q) : []) : _ > 0 && (C = z[S--],

z[S] = z[S] > C)

}

} else {

_ = 3 & x;

if (x >>= 2,

_ > 2)

(_ = x) > 13 ? (z[++S] = G[$],

$ += 8) : _ > 11 ? (C = z[S--],

z[S] = z[S] >>> C) : _ > 9 ? z[++S] = !0 : _ > 7 ? (j = G[$],

$ += 2,

z[S] = z[S][j]) : _ > 0 && (C = z[S--],

z[S] = z[S] 1) {

(_ = x) > 10 ? (j = G[$],

t[++i] = [[$ + 4, j - 3], 0, 0],

$ += 2 * j - 2) : _ > 8 ? (C = z[S--],

z[S] = z[S] ^ C) : _ > 6 && (C = z[S--])

} else if (_ > 0) {

if ((_ = x)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线