QingYi. 发表于 2021-6-5 22:13

记一次用Python抓取ts视频

合并我就没合并了,主要是练一下怎么抓ts视频

毕竟我知道很多小姐姐网站都是ts视频,到时候拿那些视频来练手 再合并

大家可以看一下

其实这个代码还能加协程 async


'''    # 流程
      1.拿到源代码
      2.从代码中拿到m3u8的源代码视频
      3.下载m3u8
      4.读取m3u8 下载视频
      5.合并

'''
import requests
import re


url = "https://www.91kanju.com/vod-play/54812-1-1.html"

resp = requests.get(url)
# print(resp.text)
# 正则
obj = re.compile(r"url: '(?P<url>.*?)',", re.S)
# 拿到地址
m3u8_url = obj.search(resp.text).group("url")

# 下载m3u8文件 并保存到本地
resp2 = requests.get(m3u8_url)
with open("video.m3u8", mode="wb") as f:
    f.write(resp2.content)
resp2.close()


# 解析m3u8文件
cnt = 1
with open("video.m3u8", mode="r", encoding="utf-8") as f:
    for n in f:
      # 先去掉空白 换行之类
      n = n.strip()
      if n.startswith("#"):
            continue
      # print(n)
      # 下载视频片段

      resp3 = requests.get(n)
      f = open(f"ts/{cnt}.ts", mode="wb")
      f.write(resp3.content)
      cnt = cnt+1
      f.close()
      resp3.close()

      #copy /bD:\ts\*.tsE:\ts\new.ts

在新标签打开所有链接复制所有链接URL复制所有链接URL(反向)复制所有链接标题 + URL复制所有链接标题 + URL (MD)复制所有链接标题 + URL (BBS)复制所有链接标题 + URL (筛选)复制所有链接标题 + URL (设置复制格式)在新标签页打开所有图片链接在一个标签页显示所有图片链接
复选框 - 选中
复选框 - 取消
复选框 - 反选
单选框 - 选中
单选框 - 取消
特殊单选框 - 选中

QingYi. 发表于 2021-6-8 09:43

lihu5841314 发表于 2021-6-6 15:30
import requests
import re ,os



看我最新帖子,有案例

lihu5841314 发表于 2021-6-6 15:30

import requests
import re ,os

urls = "https://www.91kanju.com/vod-play/54812-1-1.html"
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
}

def page_response(url):
    rep = requests.get(url=url,headers=headers)
    rep.encoding =rep.apparent_encoding
    return rep
if not os.path.exists('./movie'):
    os.mkdir('./movie')
rep = page_response(urls)
obj = re.compile(r"url: '(?P<url>.*?)',", re.S)
m3u8_url = obj.search(rep.text).group("url")
rep1 = page_response(m3u8_url)
rep2 = re.compile(r'(https://puui.qpic.cn/newsapp_ls/\d/\d+/\d)',re.S)
ts_urls = rep2.findall(rep1.text)
i =0
for ts ints_urls:
    path = './movie/' + ".mp4"
    dow = page_response(ts)
    with open(path,"ab")aspf:
         pf.write(dow.content)
         i += 1
         print("第{}下载完成".format(i))

print("下载完毕")      新手交流    怎么加进程池呢   下载 太慢了

积木工具箱 发表于 2021-6-5 22:47

直接用ffmpeg不就好了

orb001 发表于 2021-6-5 23:21

谢谢分享

lsy832 发表于 2021-6-5 23:21

我一般是iDM嗅探地址,碰见禁止的,就用一个仓库开源的下载器去下载整合

a360689589 发表于 2021-6-6 00:08

小鹅通全是ts的

南归不NG 发表于 2021-6-6 09:10

最后的文字是什么啊

编程天下 发表于 2021-6-6 10:41

谢谢楼主分享

晓风残月祭 发表于 2021-6-6 10:57

XDM可以下载ts视频

lihu5841314 发表于 2021-6-6 11:26

晓风残月祭 发表于 2021-6-6 10:57
XDM可以下载ts视频

(?P<url>.*?)    里面的?P<url>干嘛用的啊正则学的不好

806785900 发表于 2021-6-6 13:52

积木工具箱 发表于 2021-6-5 22:47
直接用ffmpeg不就好了

请教用ffmpeg怎么写?
页: [1] 2
查看完整版本: 记一次用Python抓取ts视频