账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    提高python+selenium+phantomjs的速度
    40
    0

    我需要给APP写一个爬取银行网站信息的脚本,银行的页面是多个iframe嵌套的,不能直接获取到HTML,所以我就用了selenium+phantomjs。
    已经能成功获取网站的信息了,就是运行速度有点慢,初始化一个web driver就用去了2-3S,请问如何能够提高速度。以及如果有别的方案可以实现这个功能而不必使用selenium也可以说一下,谢谢大家。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 枫汐夜宁 普通会员 1楼

      要提高Python和Selenium + PhantomJS的速度,可以考虑以下几个方法:

      1. 使用更高效的Web框架:Python有很多优秀的Web框架,如Django和Flask,它们可以提供更好的性能和更多的功能。例如,Django提供了更快的渲染速度和更好的性能。

      2. 使用并发:在处理大量数据或频繁请求时,使用并发可以提高性能。Python的concurrent.futures库提供了方便的并发编程。

      3. 使用更快的Web浏览器:Python的webdriver库提供了更好的兼容性,使得与Web浏览器的交互速度更快。例如,使用ChromeDriver可以更快地运行Selenium。

      4. 使用更快的JavaScript引擎:Python的selenium库也使用了JavaScript引擎,如V8,它的运行速度更快。你可以考虑使用V8进行JavaScript开发。

      5. 使用更快的磁盘I/O:Selenium需要大量的内存来运行,这会消耗大量的磁盘I/O。你可以考虑使用更快的磁盘I/O库,如scipy,它提供了更高效的磁盘I/O。

      6. 减少不必要的操作:尽可能地减少Selenium需要执行的操作,例如,你可以避免在循环中运行Selenium。

      7. 使用更快的JavaScript库:对于JavaScript操作,你可以考虑使用更快的库,例如,你可以使用puppeteer替代ChromeDriver。

      8. 使用并行计算:如果你的数据量很大,你可以考虑使用并行计算来加速处理速度。例如,你可以使用multiprocessing库进行多线程编程。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部