前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HifJzoc9 和 80T 的获取思路

HifJzoc9 和 80T 的获取思路

作者头像
andrew_a
发布2020-05-07 15:05:29
1.8K4
发布2020-05-07 15:05:29
举报

第一个

直接去看控制台请求,就会找到下面的这个请求,这个请求返回的就是列表内容

但是直接去找 HifJzoc9 是找不到。说明这是被后来加上去的。通过拦截 XMLHttpRequest ,将生成的参数加到请求参数里。而且在这个网站,这个参数的名字也是 js 动态生成。

下图是 cookie80T 的名字的生成地方。看好了就是名字。不要想太多。具体破解还未完成。

所以呢一种是增加 XHR 断点,另一种就是使用下面的函数。这个函数我使用的时候是用谷歌插件的方式。

分享一个钩子函数

代码语言:javascript
复制
var code = function () {   var open = window.XMLHttpRequest.prototype.open;    window.XMLHttpRequest.prototype.open = function open(method, url, async) {        if (url.indexOf("HifJzoc9") > -1) {            debugger;        }    };};var script = document.createElement('script');script.textContent = '(' + code + ')()';(document.head || document.documentElement).appendChild(script);script.parentNode.removeChild(script);

这个函数可以请求发送之前将该请求拦截。

既然可以拦截到请求,那就意味可以拿到当前环境下生成的加密参数。

如果经常看这个网站的话,你就会注意到,他会每隔几秒就会发起这样的请求

所以我的拦截代码就可以一直使用,一直拦截不让他发起请求。从下图就可以看到,请求并没有发出去。

取消请求

window.XMLHttpRequest.abort();

url 参数取到了,就差 cookie 了。

第二个

直接在控制台打印 cookie

这样打印出来其实是只有 80T 的,并没有 80S.

这是因为 HTTPOnly 的原因。具体的可以去百度查查,现在基本大网站都有这个,也是为了安全

这个可以使用谷歌插件解决,可以看看谷歌文档。

谷歌插件提供了一个方法。当然这个方法需要在背景页中使用。填写 URL后就可以获取他的所有 cookies

chrome.cookies.getAll({url: "http://*.cn/"}, function (cookies) {});

80T 也是一直在刷新的,所以只需要一直获取提交到你的爬虫就完成了。

总结

1、拦截 XMLHTTPRequest 请求

2、获取到已经生成加密的参数后的 url

3、取消请求

window.XMLHttpRequest.abort();

4、获取 cookie

5、将获取到 cookie 和 url 发送给爬虫。(这一块都是通过插件的背景页做的。网站有跨域限制,所以最后的发送操作都是在背景页。具体的大家多看看插件,挺简单的)

6、爬虫请求数据。

完整流程

谷歌插件 发送加密后的 url 以及 cookie 到接口,爬虫通过接口获取到值进行数据抓取。很简单。

而且这网站只要你能获取到这两个东西,剩下就好说了,请求多了目前发现就只有个图片验证码。

缺点就是:

如果需要大量抓取的话,就需要很多浏览器。

优点就是:

不用破解 js

还有一种思路就是通过 selenium 、pyppeteer、puppeteer 执行 js ,生成加密参数后,再取消请求。这样就会更快的生成你想要的东西。也是挺爽的。

但是这种的我不知道如何再去取消请求,并且将参数拦截获取出来。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫scrapy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一个
    • 第二个
      • 总结
      • 完整流程
      相关产品与服务
      验证码
      腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档