请选择 进入手机版|继续访问电脑版
发新帖

求帮助:如何解决拥有加密表单的爬虫问题

[复制链接]
7003 11

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欧专局:在每次查询的时候都会运行check提供需求页面的 cookie 的 browser.presence 项
需求页面:欧专局专利
check 表单截图如下:

                               
登录/注册后可看大图

举报 使用道具

回复

精彩评论11

yuanfnadi  注册会员  发表于 2018-3-6 20:25:07 | 显示全部楼层
puppetter

举报 使用道具

回复
yexiaoxing  新手上路  发表于 2018-3-6 20:26:11 | 显示全部楼层
selenium? chromedriver?

举报 使用道具

回复
mrkon  新手上路  发表于 2018-3-6 20:35:01 | 显示全部楼层
@yuanfnadi
@yexiaoxing
能不能通过破解 js 来解决问题啊,个人不太喜欢用 selenium 之类的

举报 使用道具

回复
locoz  新手上路  发表于 2018-3-6 20:42:52 | 显示全部楼层
events 是鼠标在页面里停留的位置和时间 fp 可以直接随机生成一下 ts 和 nts 是时间戳不用说了吧

"{"a":{"ts":1520152823,"events":[{"ts":73,"t":"mm","x":101,"y":27},{"ts":73,"t":"mm","x":103,"y":10},{"ts":73,"t":"mm","x":103,"y":4}......]},"fp":"4dba123c2b5b2e4f123a5c936aabcd","nts":1520152978}"

加密部分:
```
t.encode = function(e){
        var t, n, r = {}, i = (e + "").split(""), o = [], a = i[0], s = 256;
        for (t = 1; t < i.length; t++)
            n = i[t],
            r[a + n] ? a += n : (o.push(a.length > 1 ? r[a] : a.charCodeAt(0)),
            r[a + n] = s,
            s++,
            a = n);
        for (o.push(a.length > 1 ? r[a] : a.charCodeAt(0)),
        t = 0; t < o.length; t++)
            o[t] = String.fromCharCode(o[t]);
        return o.join("")
}
```

举报 使用道具

回复
mrkon  新手上路  发表于 2018-3-6 20:47:04 | 显示全部楼层
@locoz 谢谢大神,我如何才能和你一样秀,我找到了这个 js 代码
https://worldwide.espacenet.com/hdl/js/hdl.js?date=04-03-2018
其中有一段代码:
return this.ajax({type:"POST",url:t.getUrl(t.host+"/check"),data:{data:l.encode(JSON.stringify({a:e,fp:this.fingerprint,nts:u.getNow()}))}}).
这个有用吗?如果有用我改如何继续研究呢?求解答!

举报 使用道具

回复
locoz  新手上路  发表于 2018-3-6 21:03:21 | 显示全部楼层
@Mrkon 这段就是个 ajax 请求啊。。没啥用 自己实现请求部分就好了

举报 使用道具

回复
mrkon  新手上路  发表于 2018-3-6 21:25:36 | 显示全部楼层
@locoz 谢谢:),再厚着脸皮问一下,fp 是通过 js 的 fingerprint 随机生成的吗?还有就是这个表单的未加密前的模样是怎么判断出来的啊,我找了许久都没找到。

举报 使用道具

回复
locoz  新手上路  发表于 2018-3-6 21:29:23 | 显示全部楼层
@Mrkon ajax 部分不是有嘛,下个断点在 encode 那就看得到了

举报 使用道具

回复
locoz  新手上路  发表于 2018-3-6 21:54:28 | 显示全部楼层
@Mrkon fp 是 js 生成的浏览器指纹,爬他不用管这个,直接随机一个发过去就行

举报 使用道具

回复
mrkon  新手上路  发表于 2018-3-6 21:55:21 | 显示全部楼层
@locoz 表单已经合成,谢谢了。虽然我抓取网站还是没有成功( 302 跳转),headers,cookies,各项合成之后还是会跳转,是不是合成的 cookies 只能用一次啊,但是用浏览器进入抓取页面会过段时间才会失效,应该不是这个原因。对于隐藏表单和蜜罐肯定是不可能的。我能想到得到的招都用了,若有时间的话还望不吝赐教。

举报 使用道具

回复
江海志  管理员  发表于 2018-3-24 09:19:04 | 显示全部楼层

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表