ITPub博客

首页 > IT职业 > IT生活 > Python采集某网站内容, m3u8内容下载

Python采集某网站内容, m3u8内容下载

IT生活 作者:专注的阿熊 时间:2022-05-31 14:14:28 0 删除 编辑

import time

import requests  # 数据请求模块

import re  # 正则表达式模块

import json

import pprint

for page in range(3, 29):

     print(f' 正在采集第 {page} 页的数据 ')

     time.sleep(1)

     link = 'https://www.acfun.cn/u/29946310'

     data = {

         'quickViewId': 'ac-space-video-list',

         'reqID': page+1,

         'ajaxpipe': '1',

         'type': 'video',

         'order': 'newest',

         'page': page,

         'pageSize': '20',

         't': '1653659024877',

     }

     headers = {

         'referer': 'https://www.acfun.cn/u/29946310',

         'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'

     }

     response = requests.get(url=link, params=data, headers=headers)

     # pprint.pprint(response.text)

     ac_id_list = re.findall('atomid.*?:.*?"(\d+).*?"', response.text)

     print(ac_id_list)

     for ac_id in ac_id_list:

         url = f'https://www.acfun.cn/v/ac{ac_id}'

         headers = {

         源码、解答、资料加 Q 裙: 261823976

             'referer': f'https://www.acfun.cn/u/{ac_id}',

             'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'

         }

         response = requests.get(url=url, headers=headers)

         title = re.findall('<title >(.*?) - AcFun 弹幕视频网 - 认真你就输啦 \(\? ω \?\) ノ - \( ゜ - ゜ \) つロ </title>', response.text)[0]

         html_data = re.findall('window.pageInfo =跟单网gendan5.com window.videoInfo = (.*?);', response.text)[0]

         json_data = json.loads(html_data)

         m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]

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

         m3u8_data = re.sub('#E.*', '', m3u8_data).split()

         print(title)

         print(m3u8_url)

         # for ts in m3u8_data:

         #     ts_url = 'https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/' + ts

             # ts_content = requests.get(url=ts_url, headers=headers).content

             # with open('video\\' + title + '.mp4', mode='ab') as f:

             #     f.write(ts_content)

             # print(ts_url)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2898138/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 浪漫表白代码
请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276799