python办公实例视频-python 下载抖音视频示例源码

【实例简介】

下载抖音视频

【实例截图】

ffab421c096c1e6680fd3c1269d06b69.png

【核心代码】

#code:utf-8

import requests

from bs4 import BeautifulSoup

import json

session = requests.session()

#保存url的文件名

filename = "urls.txt"

c = 0

def start(userid,count):

#一次请求最多能获取到的url数

maxCount = 35

#计算出需要发送多少次请求(向上取整)

page = int((count maxCount - 1) / maxCount)

#初始游标为0

max_cursor = 0

for i in range(0,page):

print ('此时count为:',count)

print ('当前游标为:',max_cursor)

#如果需获取的视频数大于最大能获取的数,则传入maxCount,并减小count的值

if (count > maxCount):

max_cursor = download(userid,maxCount,max_cursor)

count = count - maxCount

#最后count被减到小于maxCount的时候,传入count

else:

max_cursor = download(userid,count,max_cursor)

#参数:用户id,用于下载指定用户的收藏视频。count:下载数量。max_cursor:游标

def download(userid,count,max_cursor):

global c

url = 'https://www.douyin.com/aweme/v1/aweme/favorite/?user_id=' str(userid) '&count=' str(count 1) '&max_cursor=' str(max_cursor) '&aid=1128'

#get请求,并保存响应报文

resp = session.get(url)

#解析http报文

soup = BeautifulSoup(resp.text, 'html.parser')

#将字符串转为json

myjson = json.loads(str(soup))

print('数据---',myjson)

#获取游标,用于解析下一页视频

max_cursor = myjson['max_cursor']

with open(filename,"a ") as f:

for i in range(0,count):

try:

#解析json数据

video_url = myjson['aweme_list'][i]['video']['play_addr']['url_list'][0]

#写入文件

f.write(video_url " ")

except:

print("json第",c,"次解析时解析出错...")

finally:

c = c 1

print (video_url)

#关闭文件

f.close()

#返回游标

return max_cursor

if __name__ == '__main__':

#参数一:用户id,参数2:你想下载的视频个数

start(84064249580,10)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值