Python:爬取全网Video

先上爬取1-10页的效果(获取全网即更改页数即可)

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

思路:

(1)访问网站

(2)获取响应数据

(3)解析数据:

    a:转换数据类型

    b:数据解析

(4)遍历列表,find网址

(5)下载到文件夹


import requests
import json
import re

def change_title(title):
    pattern = re.compile(r"[\/\\\:\*\?\"\<\>\|]")
    new_title = re.sub(pattern,"_",title) 
    return new_title

for page in range(1,10):#爬取1~n页

    print('正在抓取第{}页数据'.format(page))

    base_url = 'https://v.6.cn/minivideo/getlist.php?act=recommend&page={}&pagesize=20'.format(str(page))
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
    }

    response = requests.get(base_url,headers=headers)
    response_data = response.text
    #print(response_data)

    dict_data = json.loads(response_data)
    #print(dict_data)
    data_list = dict_data['content']['list']#获取到列表
    #print(data_list)

    for data in data_list:
        #print(data)
        video_title = data['title'] + '.mp4'
        video_url = data['playurl']

        new_title = change_title(video_title)

        #print(video_title,video_url)
        print('正在下载...'+video_title)
        
        video_data = requests.get(video_url,headers=headers).content

        with open('video\\' + new_title,'wb') as f:
            f.write(video_data)
            print('下载完成\n')

print('网站视频已经全部下载完毕 ending...')

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值