[交易所数据几秒出来]获取秒级股票详细数据——Ajax-hook

 admin   2022-09-26 22:49   103 人阅读  0 条评论

Ajax-hook以获取以单优先股详尽统计数据

分析统计数据

具体来说看一看有什么样统计数据能以获取:

中文网站:雪my147,就行了关上一头优先股。

能辨认出,在休息日前夕,内要几秒钟单厢有所以多xhr允诺。看一看里头有许多甚么统计数据:

细细科学研究能辨认出,大体上网页上的统计数据都能找出,除动态的ticks统计数据,除了甚么三档主队,成交量备注之类。约莫那个网页的统计数据都能,有兴趣就去渐渐有关联吧(标识符里如果有有关态射)。

与此同时实现路子与标识符

依照恒定方法论,他们如果去急速的允诺那些USB就能以获取到统计数据了,所以那些统计数据大体上没甚么身份验证(是没。。)。但,他们更要考量互联网允诺延后的难题,就算你的互联网不太好,有可能再次出现雅雷的情形,引致统计数据缺位。所以,他们一般来说是要与此同时允诺R510410优先股,每只优先股都有三四个USB。

那那时他们能试著用除此之外一类形式来以获取统计数据,难道都是xhr允诺,所以就能无法hook到统计数据,接着手动发送给他们的USB,主动式的接收统计数据呢?

这里有一个神奇的项目:https://github.com/wendux/Ajax-hook

话不多说,上关键Python标识符。

1. 开启统计数据接收USB

用flask开启一个专门接收统计数据的USB,后续能对统计数据进行处理,清洗保存统计数据。

@app.route(/receiver/,?methods=[POST])

def?receive():

"""接收前端hook后的统计数据"""

content?=?json.loads(request.data)

print(content)

?统计数据处理,清洗保存

return?jsonify({status:?True})

2. 监听xhr允诺

利用Ajax-hook监听有关xhr允诺,接着利用axios发送统计数据到他们的USB。

ah.proxy({

//允诺成功后进入

onResponse:?(response,?handler)?=>?{

if?(response.config.url.search("history")?!==?-1)?{

axios.post(http://127.0.0.1:5000/receiver/,?{

url:?window.location.href,

data:?response.response

});

console.log(response.response);

handler.next(response)

}

}

});

3. 关上监听网页

利用webdriver关上要监听的网页,注入有关JS。

browser?=?webdriver.Chrome()

browser.get(https://xueqiu.com/S/SH标识符)

?关上网页,注入有关js

browser.execute_script(open(hook.js,?encoding=utf8).read())

4. 结果与思考

最终他们USB会接收到和恒定网页相同的xhr允诺统计数据,后续他们能对那些统计数据做进一步处理。

与此同时实现过程很简单,但这种方法有一个很致命的难题,是要利用webdriver,要知道,启动浏览器是很耗资源的。当然,他们也能优化,能与此同时开启很多窗口和标签页,能放在docker容器内之类。

但如果我不缺资源的话,我为甚么无法采取分布式爬虫呢?

各有利弊,只能说提供了一类路子吧,不管有用没用,了解一下,原来还能这样的,挺有意思的。

5. 标识符

有需要的能去那个仓库里头找一下:https://github.com/downdawn/JSreverse

- END -

本文地址:http://51ac.top/post/35462.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?