Python爬虫实战:使用requests库抓取视频

本文将介绍如何使用Python的requests库抓取视频,并结合实际案例讲解如何解析JSON数据,提取视频地址,并下载保存。

代码示例:

import requests
import os
import json

# 数据的抓取
base_url = 'http://www.zkk78.com/index.php/user/ajax_ulog/?ac=set&mid=1&id=4721&sid=1&nid=1&type=4'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55',
    'Referer': 'http://www.zkk78.com/dongmanplay/1660-1-1.html',
    'Cookie': '请替换成你自己的Cookie'
}

response = requests.get(base_url, headers=headers)  # 第一次请求
print(response.status_code)
data = response.text
print(data)

# 数据解析, jsonload转换为python格式
json_data = json.loads(data)
print(json_data)
json_list = [json_data['info']]  # 将字典放入列表中
print(json_list)

for item in json_list:
    print(item)  # 打印item字典的内容,查看键和值
    if 'play_url' in item:
        video_title = str(item['ulog_rid']) + '.mp4'  # 将'ulog_rid'的值转换为字符串类型
        video_url = item['play_url']
        print(video_title, video_url)

        print('正在下载:', video_title)
        # 第二次请求
        video_data = requests.get(video_url, headers=headers).content
        with open(r'./视频/' + video_title, 'wb') as f:
            f.write(video_data)
            print('下载完成\n')
    else:
        print('没有找到play_url键')

代码解析:

  1. 导入必要的库: requests用于发送HTTP请求,os用于处理文件和目录,json用于解析JSON数据。
  2. 设置请求头: headers中包含了User-Agent、Referer和Cookie等信息,用于模拟浏览器访问网站,避免被反爬虫机制拦截。
  3. 发送请求: 使用requests.get()方法发送GET请求,获取网页内容。
  4. 解析JSON数据: 使用json.loads()方法将JSON格式的字符串转换为Python字典。
  5. 提取视频地址: 从字典中提取视频标题和地址,如果字典中没有'play_url'键,则打印提示信息。
  6. 下载视频: 发送另一个GET请求,获取视频内容,并保存到本地文件。

注意:

  • 代码中的Cookie需要替换成你自己的Cookie,否则可能无法正常访问网站。
  • 代码中的路径'./视频/'是保存视频的目录,可以根据需要修改。
  • 本文仅供学习交流使用,请勿用于非法用途。
Python爬虫实战:使用requests库抓取视频

原文地址: https://www.cveoy.top/t/topic/fRe8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录