网页视频抓取脚本( 80集Python基础入门视频教学点免费在线观看分析目标)

优采云 发布时间: 2021-11-25 13:16

  网页视频抓取脚本(

80集Python基础入门视频教学点免费在线观看分析目标)

  Python爬虫实战虎牙视频爬取源码

  更新时间:2021年10月15日09:09:46 作者:松鼠爱吃饼干

  读万卷书不如行万里路。实战学习的不足,可见一斑。本文文章带你爬取虎牙的短视频数据。可以在实战中查漏补缺,加深学习。

  内容

  知识点开发环境

  爬虫的基本思路流程:(关键点)【无论任何网站任何数据内容都按照这个流程进行分析】

  1.确定需求(需要爬取的内容是什么?)

  2.发送请求,使用python代码模拟浏览器向目标地址发送请求

  3.获取数据,获取服务器返回的数据内容

  4.分析数据,提取我们想要的数据内容,视频标题/视频url地址

  5.保存数据

  【付费VIP完整版】只要看完就能学会的教程,80集Python基础入门视频教学

  点击这里免费在线观看

  分析目标网址

  首先打开一个视频,查看id

  

  打开开发者工具并找到

  

  获取目标网址

  

  代码开头是在线导入需要的模块

  

import requests # 数据请求模块 pip install requests (第三方模块)

import pprint # 格式化输出模块 内置模块 不需要安装

import re # 正则表达式

import json

  数据请求

  

def get_response(html_url):

# 用python代码模拟浏览器

# headers 把python代码进行伪装

# user-agent 浏览器的基本标识

headers = {

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

}

# 用代码直接获取的 一般大多数都是直接 cookie

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

return response

  获取视频标题和url地址

  

def get_video_info(video_id):

html_url = f'https://liveapi.huya.com/moment/getMomentContent?videoId={video_id}&uid=&_=1634127164373'

response = get_response(html_url)

title = response.json()['data']['moment']['title'] # 视频标题

video_url = response.json()['data']['moment']['videoInfo']['definitions'][0]['url']

video_info = [title, video_url]

return video_info

  获取视频 ID

  

def get_video_id(html_url):

html_data = get_response(html_url).text

result = re.findall(' window.HNF_GLOBAL_INIT = (.*?) ', html_data)[0]

# 需要把获取的字符串数据, 转成json字典数据

json_data = json.loads(result)['videoData']['videoDataList']['value']

# json_data 列表 里面元素是字典

# print(json_data)

video_ids = [i['vid'] for i in json_data] # 列表推导式

# lis = []

# for i in json_data:

# lis.append(i['vid'])

# print(video_ids)

# print(type(json_data))

return video_ids

# 目光所至 我皆可爬

def main(html):

video_ids = get_video_id(html_url=html)

for video_id in video_ids:

video_info = get_video_info(video_id)

save(video_info[0], video_info[1])

  保存数据

  

def save(title, video_url):

# 保存数据, 也是还需要对于播放地址发送请求的

# response.content 获取响应的二进制数据

video_content = get_response(html_url=video_url).content

new_title = re.sub(r'[\/:*?"|]', '_', title)

# 'video\\' + title + '.mp4' 文件夹路径以及文件名字 mode 保存方式 wb二进制保存方式

with open('video\\' + new_title + '.mp4', mode='wb') as f:

f.write(video_content)

print('保存成功: ', title)

  调用函数

  

if __name__ == '__main__':

# get_video_info('589462235')

video_info = get_video_info('589462235')

save(video_info[0], video_info[1])

for page in range(1, 6):

print(f'正在爬取第{page}页的数据内容')

# python基础入门课程 第一节课 讲解的知识点 字符串格式化方法

url = f'https://v.huya.com/g/all?set_id=31&order=hot&page={page}'

main(url)

  运行代码获取数据

  

  这是文章关于虎牙视频抓取的介绍,附Python爬虫实战源码。更多Python爬取虎牙视频相关内容,请搜索脚本之家之前的文章或继续浏览下方相关文章,希望大家以后多多支持Scripthome!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线