【python】价值25~30K的国外企业招聘面试考题

news2024/9/30 17:34:10

目录标题

      • 前言
      • 案例介绍
      • 网站分析
      • 代码展示
      • 尾语 💝

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

今天的这个案例,是一位同学的面试题,人在国外,月薪25~30K

本来以为是难度很大的反pa、逆向或者算法之类的,

谁知道,就是一个简简单单有手就行得案例

划重点,10分钟就写出来了 😜

这里来看看我跟那位同学得聊天记录吧~

绝对真实,童叟无欺!!!

案例介绍

是一个看美剧的网站,从电影界面这里就可以知道视频内容是m3u8的视频格式

什么是m3u8格式呢?

m3u8是苹果公司推出的视频播放标准,是m3u8的一种,只是编码格式采用的是UTF-8。

现在的视频网站采用的是流媒体传输协议,就是将一段视频切成无数个小段,这几个小段就是ts格式的视频文件,一段一段的网站上播放。

这样做的好处是观看更加流畅,因为他会根据网络状况自动切换视频的清晰度,在网络状况不稳定的情况下,对保障流畅播放非常有帮助。

网站分析

通过开发者工具抓包分析找寻数据来源

可以通过开发者工具搜索ts文件 找到m3u8的url地址, 或者直接搜索m3u8也可以找到相应的数据包

如果想要批量爬取电影内容的话, 还需要继续找寻这个m3u8的url地址是从哪里可以获取的

和上面的方法一样, 在开发者工具里面进行搜索,找寻相应的数据内容,

找到数据来源之后, 还需要去分析headers里面的请求url地址 以及请求方式 请求头…

  1. 确定请求url地址

  2. 确定请求方式

  3. 请求头参数

以上是爬取一个视频内容的分析,

如果想要爬取多个视频内容, 还要继续分析:这个请求参数里面URL地址可以从哪里获取

代码展示

link_url = 'https://www.imeiju.pro/Play/7483-0-0.html'
headers = {
    'Host': 'www.imeiju.pro',
    'Referer': 'https://www.imeiju.pro/js/player/baiduyun.html',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
response = requests.get(url=link_url, headers=headers)
response.encoding = response.apparent_encoding  #  自动识别编码
# print(response.text)
title = re.findall("var playn = '(.*?)'", response.text)[0]  # 标题
video_info = re.findall('第(\d+)集\$(.*?)\$', response.text)
print(title)
print(video_info)
for num, index in video_info:
    print(title, num, index)

    url = 'https://www.imeiju.pro/ckplayerx/m3u8.php'  # 请求网址
    # 请求参数 字典数据类型
    data = {
        'url': index,
        'f': 'ck_m3u8'
    }
 
    # 最后用response变量接收返回数据
    response = requests.get(url=url, params=data, headers=headers)
    有需要视频教程得可+VX:pytho8987
    # url: '(.*?)'  (.*?) 表示你想要数据内容
    m3u8_url = re.findall("url: '(.*?)'", response.text)[0]
    print(m3u8_url)

    m3u8_data = requests.get(url=m3u8_url).text

    # ? 非贪婪匹配模式  split() 分割 返回列表
    m3u8_data = re.sub('#E.*', '', m3u8_data).split()
    print(m3u8_data)
    for link in m3u8_data:  # for 遍历 把列表元素一个一个提取出来
        ts_url = 'https://fangao.stboda.com/concat/20210609/fb22f65d884d47238f75ea8aed8cf249/cloudv-transfer/' + link
        ts_content = requests.get(url=ts_url).content
        # b二进制 w写入(会覆盖的) a追加写入(不会覆盖)
        with open(title + num + '.mp4', mode='ab') as f:
            f.write(ts_content)
        print(ts_url)

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习笔记1——CNN识别黑白手写数字

文章目录 摘要手写数字数据集(MNIST)卷积神经网络(Convolution Neural Network, CNN)模型架构搭建Softmax函数和CrossEntropy损失函数Adam 优化器 构造数据迭代器训练、验证、测试模型训练结果可视化 摘要 本文将介绍CNN的开山之…

读书笔记--读数学之美有感

大概是在10年前,无意间读到吴军老师撰写得数学之美,感觉吴老师对数学与信息论的结合讲述的太好了,吴老师结合自身的多年工作经历将信息技术中用到的数学,特别是数学里面的很多概率论、线性代数、模型算法、编解码规则等&#xff0…

gunicorn常用参数命令

Gunicorn 是一个 Python 的 WSGI HTTP 服务器。具有实现简单,轻量级,高性能等特点。更多介绍内容参考官网,这里介绍几个常用参数。 安装 pip3 install gunicorn通过输入gunicorn -v查看版本。 最简洁的启动。首先进入到项目目录,例如django项目和mana…

Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】

前言 闲的无聊、给原有的系统添加一个公告的功能。就是后台可以写一些公告信息,然后前台可以看到发布的信息。一般来说一个公告就是一些文字描述图片视频等。还有排版样式啥的。使用文本编辑器就可以实现。然后正好用到了Quill,通过Quill富文本编辑器集成…

JS逆向 -- 某视频vurl值的加密分析

接上节课内容 JS逆向 -- 某视频vid值的加密分析 JS逆向 -- 某视频val值和pid值的加密分析 一、在上节课中有个vurl的值需要分析,具体内容如下 vurl: https://mp4play-hs-cdn.ysp.cctv.cn/o000017kuww.jbZe10002.mp4? sdtfrom4330701& guidlhsuf6ia_0rieucp…

进程性能分析工具 pidstat 和用 python 的 matplotlib 库输出分析图表

文章目录 前情提要效果展示pidstat 简介matplotlib 简介认识 figure 和 axes绘制曲线图绘制柱形图创建两个轴,将上面两种图形放到一个 figure 中Backends of matplotlib如何使用 WebAgg注意事项 前情提要 这段时间在忙服务器压测的工作,虽然我们程序里面…

五种高效的原型设计工具推荐

软件产品的诞生注定要经历一个过程:需求分析、设计、开发、测试和在线。在设计阶段,原型设计是软件设计和开发的重要保证。与其他工作一样,高效的原型设计需要相应工具的帮助来完成原型设计。在许多原型设计工具中,这里推荐了五种…

洛谷P1420-最长连号

洛谷P1420-最长连号 这个题目很入门,但是我第一次做怎么做都做不出来,看了几个代码,方法各式各样,这个我是我觉得最通俗易懂的一个, 循环外面的两个输入第一个cin是个数第二个是输入的第一个数,所以下面for循环的条件…

毕业论文之转化为三线表格(wps)

目录 一、前言 1.修改之前的表格 2. 修改完成后(三线表格式) 二、操作步骤 一、前言 在论文里面的表格要求是三线表格式的时候,就需要我们去把这个表格修改成三线表格式。 1.修改之前的表格 2. 修改完成后(三线表格式&…

Vulnhub靶机渗透:Raven1(超级详细)

Raven1 https://www.vulnhub.com/entry/raven-1,256/ kali:192.168.54.128 raven1:192.168.54.15 nmap扫描 端口扫描 # Nmap 7.93 scan initiated Thu May 18 16:41:33 2023 as: nmap --min-rate 20000 -p- -oN nmap/ports 192.168.54.15 Nmap scan report for 192.168.54.…

PPT / Powerpoint中利用LaTeX输入公式

新版的Word(Office 2016后?)是支持LaTeX公式输入的,但是Powerpoint并不支持。下面介绍如何利用latex-ppt插件实现PPT中输入LaTeX公式: 1 安装latex-ppt插件 1.1 下载插件 插件开源仓库:latex-ppt&#x…

Linux【Ubuntu】安装Docker配置docker-compose 编排工具

一:Docker具体安装传送门: 亲测有效 https://www.runoob.com/docker/ubuntu-docker-install.html 二:配置Docker编排工具docker-compose 1,下载Docker-compose 下载Docker-Compose(下载完毕就是一个文件docker-compose-Linux-x…

实验10 超市订单管理系统综合实验

实验10 超市订单管理系统综合实验 应粉丝要求,本博主帮助实现基本效果! 未避免产生版权问题,本项目博主不公开源码,如果您遇到相关问题可私聊博主! 一、实验目的及任务 通过该实验,掌握利用SSM框架进行系…

生成式AI热潮:一场“添饭碗”的科技革命

今年以来,人工智能(AI)热潮席卷全球,被认为将掀起新的科技革命。 5月18日的2023天津世界智能大会,以“智行天下 能动未来”为主题,重点关注人工智能发展的新趋势、新技术、新业态。大会开幕式结束之后&…

lidar camera calibration

1 Automatic Extrinsic Calibration Method for LiDAR and Camera Sensor Setups 2022 vel2cam git 2 A Novel Method for LiDARCamera Calibration by PlaneFitting 本文介绍了一种使用带ArUco标记的立方体的3D-3D对应特征来校准LiDAR和相机的新方法。在LiDAR坐标系中&…

安全响应中心 — 垃圾邮件事件报告(5.16)

2023年5月 第二周 一. 样本概况 ✅ 类型1:二维码钓鱼(QRPhish) 利用二维码进行的钓鱼、投毒,成为目前常见的邮件攻击手段之一,该类二维码主要存在于网络链接图片、邮件内容图片、附件图片中。 近日,安全团队捕获到一类基于员工…

什么是DevOps?如何理解DevOps思想?

博文参考总结自:https://www.kuangstudy.com/course/play/1573900157572333569 仅供学习使用,若侵权,请联系我删除! 1、什么是DevOps? DevOps是一种思想或方法论,它涵盖开发、测试、运维的整个过程。DevOps强调软件开…

三阶段项目相关内容

当虚拟网关和真实物理网关相同的时候,默认优先级是255 vrrp角色: 主路由器 备份路由器 虚拟路由器 计时器:发送hello报文的时间, 主网关:每隔1s会向备份发一次vrrp报文 备份网关:监听vrrp报文,主网…

【UE4】从零开始制作战斗机(上:准备模型、定义函数和变量)

资源连接:(链接) 步骤: 1. 下载完资源并解压,资源内容如下: 2. 将上图中所有的.fbx文件导入ue 使用默认的导入设置就行,直接点击导入所有 导入后内容如下: 将资源中的textures也导…

程序员必备的免费自然语言转SQL (摸鱼)工具,人手必备

程序员必备的免费自然语言转SQL (摸鱼)工具,人手必备 1、SQL查询中添加过滤 请对附加的SQL查询添加筛选条件,仅显示在加州居住且消费总额排名前10位的客户。 “SELECT customer_name, SUM(order_total) AS total_spent FROM orders GROUP BY customer…