zoukankan      html  css  js  c++  java
  • python爬取梨视频

    python爬虫程序,下载梨视频到本地

    环境搭建

    关于python的介绍可以参考:python简介
    python安装参考:Python安装以及版本检测
    pycharm安装可以参考:PyCharm的安装和破解
    pip安装参考:添加链接描述
    request安装:pip install request
    urllib安装:pip install urllib

    需求分析

    梨视频首页

    具体实现

    通过两次请求

    源代码

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Created by xiaoming
    
    # 本模块的功能:<>
    from urllib.request import *
    from requests import *
    from re import *
    from os import *
    from random import *
    # makedirs('视频')
    titlep = []
    def single_page(url,name,video_num):
        if path.exists(name):
            pass
        else:
            makedirs(name)
    
        response = get(url)
    
        response = response.text
    
        rep = findall('categoryem.*?href="video(.*?)"',response,S)
        # print(rep)
        j = 0
        for i in rep:
            j += 1
            i = 'https://www.pearvideo.com/video' + i
            ori_video_url = one_video(i)
            print('正在下载第',j,'个视频...')
            suiji = random()
            full_name = name+'/' + titlep[0] + '.mp4'
            # full_name = name+'/' + str(suiji)[2:] + '.mp4'
            urlretrieve(ori_video_url, full_name)
            print('成功保存视频: ',full_name)
            if j == video_num:
                break
    '''
    当你的才华还撑不起你的野心时,那你就应该静下心来学习
    当你的能力还驾驭不了你的目标时,那就应该沉下心来历练
    '''
    def one_video(url):
        '''
        梨视频网站,传递一个单个视频页面,返回一个视频的原始地址
        :param url:
        :return:
        '''
        response = get(url)
    
        response = response.text
    
        # print(response)
    
        rep = findall(r'https://video.pearvideo.com/mp4/(.*?)mp4', response, S)
    
        titlee = findall(r'class="video-tt".*?>(.*?)</h1>', response, S)
        for i in titlee:
            titlep.clear()
            titlep.append(i)
        print(titlep)
        # print(rep)
    
        for i in rep:
            i = 'https://video.pearvideo.com/mp4/' + i + 'mp4'
            print(i)
            return i
    
    
    def main():
        mulu = {
            '新知':'10',
            '社会':'1',
            '世界':'2',
            '体育':'9',
            '生活':'5',
            '科技':'8',
            '娱乐':'4',
            '财富':'3',
            '汽车':'31',
            '美食':'6',
            '音乐':'59',
        }
        # 新知 社会 世界 体育 生活 科技 娱乐 财富 汽车 美食 音乐 拍客
        url = 'https://www.pearvideo.com/category_'
    
        for i in mulu:
            print(i,end=" ")
        print()
        choice = input("请选择需要的视频类型:")
        num = mulu[choice]
        url = url + num
    
        video_num = int(input("请输入要下载视频的数量:"))
        single_page(url,choice,video_num)
    
    
    main()
    
    
  • 相关阅读:
    496. 下一个更大元素 I
    20200516文献速递
    20200510文献速递
    beta,or, p value计算zscore
    20200503文献速递
    古人以及其他灵长类动物基因组数据
    20200420-0426文献速递
    使用snpflip校正基因组正负链
    使用qqman对曼哈顿图(Manhattan plot )多个显著位点标志不同颜色,拒绝屎一样的绿色
    RAEdb:基于STARR-seq和MPRA数据的enhancers和Epromoters可视化
  • 原文地址:https://www.cnblogs.com/victorfengming/p/11930957.html
Copyright © 2011-2022 走看看