python - 如何批量获取网易公开课Request Url?

 手机用户2502871605 发布于 2022-10-27 11:02

网易公开课线性代数代数系列课程

问题描述

这个系列一共有35集,一个个手动去获取Reqeust url肯定是不现实的,如果requests.get(url)的话得到的只有swf的链接。

请问我应该如何用编程的方式,而不是这种手动抓包批量获取这些url呢?

2 个回答
  • 提供一个思路:

    1.使用python selenium打开该页面,使用用selenium提供的方法点击:“查看全部”;

    2.然后利用把整个系列所有课程的页面链接保存下来:

    3.然后用selenium依次打开这些页面,获取swf的地址。

    2022-10-27 21:51 回答
  • 这个可能跟python关系不大了,从网络请求可以看到,在请求flv之前,有个xml的请求:

    http://live.ws.126.net/movie/D/K/2_M82ICR1D9_M83C881DK.xml

    底下是里面的片段:

        <title>可汗学院公开课:线性代数</title>
        <pnumber>2</pnumber>
        <encrypt>1</encrypt>
        <flvUrl>
            <hd default="true">
                <flv>E2BA84651E56C82C8CE97002DC1F7CAEA29180ACE8C6DADCA45104768872534AA5C214B0867E1462ED82A6D12127FFD91F65A0C004BD46482FBC5902AA0AE0F3318D0D31C116F4D94B2C3AB249A726A3</flv>
            </hd>
        </flvUrl>
        <flvUrlOrigin>
            <hd default="true">
                <flv>E2BA84651E56C82C8CE97002DC1F7CAEA29180ACE8C6DADCA45104768872534AA5C214B0867E1462ED82A6D12127FFD9FE322DE168A2EE7A2661A339A477B36BE6FEA21BC453290E93A64F68A3A65438</flv>
            </hd>
        </flvUrlOrigin>
        <playurl>
            <SD default="true">
                <mp4>E2BA84651E56C82C8CE97002DC1F7CAEA29180ACE8C6DADCA45104768872534AA5C214B0867E1462ED82A6D12127FFD91F65A0C004BD46482FBC5902AA0AE0F3318D0D31C116F4D94B2C3AB249A726A3</mp4>
                <mp4>605CF28E9E16FC9350EF99E895DD166C6099596C18F1EE427C00BCF1E5942FD15C317D341FCFAB5B052EB73E2E59B2C638FC681CE6AD7BAE7BC73D7941433719F1E6069F9816FDF1AC941EAAA3DE60CE</mp4>
            </SD>
        </playurl>

    可以看到flv的地址是加密的一个字符串,所以本质上就是要解密这个地址。播放器实际就是个flash文件,可以逆向flash文件,找到解密的算法,用Python实现一下。

    或者可以搜索一下,也有一些讨论:
    https://www.v2ex.com/t/181487
    https://www.zhihu.com/questio...

    2022-10-27 21:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有