Splash结合Python执行JS渲染-Python Spider

In [1]: #Splash结合Python

In [2]: import requests

In [3]: import json

In [4]: #设置Splash接口

In [5]: render = 'http://www.porters.vip:8050/execute'

In [6]: #使用Lua脚本书写命令

In [7]: script = """
   ...: function main(splash)
   ...:     splash:go('http://www.porters.vip/verify/sign')
   ...:     local butt = splash:select('#fetch_button')
   ...:     butt:mouse_click()
   ...:     content = splash:select('#content'):text()
   ...:     return{
   ...:         results = content}
   ...: end
   ...: """

In [8]: header = {'content-type':'application/json'}

In [9]: #按照splash规定提交命令

In [10]: data = json.dumps({"lua_source":script})

In [11]: #对splash接口发出请求,并带上请求头和命令参数

In [12]: resp = requests.post(render,data=data,headers = header)

In [13]: print(resp.json())
{'results': '参团的游客,应听从领队、导游人员的安全提醒,切莫擅自行动。\n        自身的人身、财物安全要注意,购买人身意外险,贵重物品要随身携带,\n        不要留在车内或者交由他人保管。参加漂流、摩天轮等高风险项目的时候,\n        要认真听从工作人员的安排,切莫求刺激而发生意外。\n    以下是 本次参团出行需要遵守的规范要求:\n    一、跟刺激相比,命更重要,没有命就什么都没了。\n    二、旅行中会遇到很多你从未见过的植物和动物,不要轻易打扰它们,有可能有毒。\n    三、身体感觉不适,尤其是发烧、乏力和呕吐等情况必须报告随队医护人员。\n    四、出发前请跟家人沟通好,避免造成失联错觉。\n    五、出发前请按照队长的要求准备好必备衣物和干粮,最重要的是水。\n    六、旅行途中必须紧跟队伍,不许在无人知晓的情况下行动。\n    七、如不慎走失,请先释放信号弹,半小时后无人联系再想办法报警。\n    八、如果不同意以上几条,请在出发前告知队长。\n    九、最重要的是:没有命,就什么都没了。'}

In [14]:
发布了101 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_40539952/article/details/104627517