首页 新闻 会员 周边 捐助

flask实现异步响应HTTP请求

0
悬赏园豆:100 [待解决问题]

最近做一个flask+selenium的模拟登录爬虫爬数据的接口;我这边需要提供一个HTTP的异步回调接口,具体来说就是公司php后台发送请求给我之后,我模拟登录判断登录是否成功,如果不成功返回一个状态吗;如果成功返回200。之后开始我的具体的登录后的爬虫,然后再返回给php后台,登录成功后这个时间php后台那边不用关心这中间爬虫要消耗多长时间,当我完成之后通过调用另一个HTTP接口,把计算结果返还客户端。请问这样能实现吗,总的来说,就是对方只发一个请求,我要返回登录状态和爬虫数据

donz007的主页 donz007 | 初学一级 | 园豆:102
提问于:2019-05-15 17:57
< >
分享
所有回答(1)
0

可以实现。
你的意思就是他发请求给你(的接口),你立即返回一个状态(是否登录成功)。然后他就不管了。
你自己跑完爬虫再调一个接口,也就是发一个请求,告诉对方你的结果。然后你就结束了。
看你说的就是后台和你各有一个http接口。你只负责维护自己的接口(看样子是flask)和跑完调一下返回结果,没什么问题。

Masako | 园豆:1893 (小虾三级) | 2019-05-16 16:51

如果是你用什么方法实现呢

支持(0) 反对(0) donz007 | 园豆:102 (初学一级) | 2019-05-16 17:20

@donz007:
用flask开一个接口,放在服务器上跑,让后端请求。获取后端给你的数据,登录并返回结果。
用python写一个爬虫,和一些处理业务的代码去计算你需要的结果。
用requests请求‘另一个HTTP接口’,带上结果数据。
感觉这个流程没有异步操作啊。。。你是flask要异步处理请求吗

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2019-05-16 17:45

@Masako: 对,我搞了异步,用多线程去开爬虫数据,因为登录返回之后,我接口就跑不了了,现在算搞定了一点,但还是担心并发问题

支持(0) 反对(0) donz007 | 园豆:102 (初学一级) | 2019-05-16 17:49

@donz007: 我之前好像搞过,有点忘了,大致是返回后把需要的信息存下来,然后由爬虫程序取了跑。方式似乎直接放的队列,因为数据量还能支撑,要求也不高。并发问题可能需要flask多看一下。

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2019-05-16 18:15

@Masako: 我现在是直接在return上一步开了个线程执行爬虫的操作

支持(1) 反对(0) donz007 | 园豆:102 (初学一级) | 2019-05-20 10:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册