爬取梨视频主页所有视频

import requests
import re
import uuid
from concurrent.futures import ThreadPoolExecutor

pool = ThreadPoolExecutor(50)

# 爬虫三部曲
# 1.发送请求
def get_html(url):
    print(f'start: {url}...')
    response = requests.get(url)
    return response

# 2.解析数据
# 解析主页,获取视频详情页url
def parse_index(response):
    '''
    <a href="(.*?)" class="vervideo-lilink actplay" target="_blank">.*?<div class="vervideo-title">(.*?)</div>.*?</a>
    '''
    # 获取电影所有的id
    movie_id_list = re.findall(
        '<a href="video_(.*?)"',  # video_1637397
        response.text,
        re.S
    )
    return list(set(movie_id_list))

# from concurrent.futures._base import Future
# 解析视频详情页,获取真实视频url
def parse_detail(res):  # res对象 --- 》 {'result': response}
    # print(type(res))

    # print(res.__dict__)
    # print('*'*100)
    response = res.result()
    # 通过回调得到的response参数是一个对象
    '''
    <video webkit-playsinline="" playsinline="" x-webkit-airplay="" autoplay="autoplay" src="https://video.pearvideo.com/mp4/adshort/20191228/cont-1637151-14745612_adpkg-ad_hd.mp4" style="width: 100%; height: 100%;"></video>
    '''
    movie_url = re.findall('srcUrl="(.*?)"', response.text, re.S)[0]

    print('是否到此处了')
    # 异步提交任务爬取真实视频数据,并保存
    pool.submit(save_movie, movie_url)

# 3.保存数据
def save_movie(movie_url):
    print('start')
    movie_response = get_html(movie_url)

    # print(movie_response.text)
    # print(movie_response.content)

    with open(f'{str(uuid.uuid4())}.mp4', 'wb') as f:
        for line in movie_response.iter_content():
            f.write(line)

    print('end...')

if __name__ == '__main__':
    import time
    index_url = 'https://www.pearvideo.com/'
    response = get_html(index_url)
    # 1.对梨视频主页进行解析,提取所有视频详情页的绝对路径
    movie_id_list = parse_index(response)

    for movie_id in movie_id_list:
        detail_url = 'https://www.pearvideo.com/video_' + movie_id
        time.sleep(0.1)
        # 循环并发异步提交任务, add_done_callback将get_html任务的执行结果,回调给
        pool.submit(get_html, detail_url).add_done_callback(parse_detail)

原文地址:https://www.cnblogs.com/chanyuli/p/12135616.html

时间: 2024-08-30 15:10:00

爬取梨视频主页所有视频的相关文章

requests爬取梨视频主页所有视频

爬取梨视频步骤: 1.爬取梨视频主页,获取主页所有的详情页链接 - url: https://www.pearvideo.com/ - 1) 往url发送请求,获取主页的html文本 - 2) 解析并提取详情页相对路径video_1637593,与主页拼接即可 - 拼接后获取的是电影详情页url: - detail_url: https://www.pearvideo.com/ + video_1637593 2.往电影详情页发送请求,解析并提取真实视频url--> .mp4后缀的视频url -

都说抖音是毒品软件?我用Python爬取了里面的小视频!

简介 抖音,是一款可以拍短视频的音乐创意短视频社交软件,该软件于2016年9月上线,是一个专注年轻人的15秒音乐短视频社区.用户可以通过这款软件选择歌曲,拍摄15秒的音乐短视频,形成自己的作品.此APP已在Android各大应用商店和APP Store均有上线. 今天咱们就用Python爬取抖音视频 获得视频播放地址 查询的用户ID 视频名字列表 视频链接列表 用户昵称 获得带水印的视频播放地址 video_url:带水印的视频播放地址 download_url: 带水印的视频下载地址 视频下载

最后轻松一夏,周末利用python爬取“陈翔六点半”搞笑视频!

觉得程序员再忙也需要给自己安排一点娱乐时间,对自己好点,自己对自己不好,谁会? 自己娱乐一般会有:跑步.看电影.小视频,而小视频是最家常的娱乐方式,看得最多的小视频是「 陈翔六点半 」,咦! 拍得搞笑,演技也一流,也不乏有内涵!非常推荐大家看看. 时间太贵,我耗不起 正题 先上Python爬取小视频的效果图,duang.duang.duang.想下载什么就是什么,哈哈. 打开浏览器(电脑版,方便调试)输入微博 url 点击输入框,输入「陈翔六点半」,回车搜索 但是发现在这个页面就只用几个视频.滑

爬虫——使用多进程爬取视频数据

以梨视频为例分析页面请求抓取网页数据.本次抓取梨视频生活分类页面下的部分视频数据,并保存到本地. 一.分析网页 打开抓取网页,查看网页代码结构,发现网页结构里面存放视频的地址并不是真正的视频地址. 进入视频详情页面查看后,可以在response中找到真正的视频地址.保存这个地址的并不是标签,而是一个变量,我们使用re来解析这个变量,提取信息. 二.代码实现 """使用多线程爬取梨视频视频数据""" import requests import r

零基础如何学好python爬虫?之python爬取B站小视频

B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 在最下方循环中 填写好循环的次数就可以了 B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 在最下方循环中 填写好循环的次数就可以了 废话不多说直接上

python解决m3u8直播视频的爬取

一.背景 在爬虫方面包括图片,文字,视频,音频等的获取.受到速度的限制,视频的爬取较为麻烦,因为视频是进行切片处理的采取的方式是hls,这是苹果公司制定的一个方案.它会把内容切片,用.m3u8进行组织,在m3u8里面记录了断点的位置,将所有的片段下载下来在拼接就可以连接成整个视频.目前较大的视频都是采取这样的方式.同时m3u8的格式也可以被h5直接读取,这样从理论上和实际过程中解决了视频的传输问题.模型图如下. 二.文件信息 2.1 .m3u8的头文件格式 用检索我们可以在source/medi

基本文件处理-爬取豆瓣电影排行榜

目录 文件的类型 什么是文件? 文件的分类 文件的打开与关闭 文件处理的三个步骤 使用方式 爬虫 requests库的使用 文件的类型 什么是文件? 一堆.py/.txt 存储着文字信息文件, 文件的分类 二进制文件:由0.1组成,例如.png文件 文本文件:由单一特定编码组成的文件,如utf8,例如 .txt文件 文件的打开与关闭 文件处理的三个步骤 打开(找到路径打开) 打开模式 描述 r 只读不可写 w 只写不可读(会清空文件) a 追加不可读 r+ 可读可写 w+ 可读可写(会清空文件)

python爬虫--2019中国好声音评论爬取

2019中国好声音火热开播,作为一名"假粉丝",这一季每一期都刷过了,尤其刚播出的第六期开始正式的battle.视频视频看完了,那看下大家都是怎样评论的. 1.网页分析部分 本文爬取的是腾讯视频评论,第六期的评论地址是:http://coral.qq.com/4093121984每页有10条评论,点击"查看更多评论",可将新的评论加载进来,通过多次加载,可以发现我们要找的评论就在以v2开头的js类型的响应中. 请求为GET请求,地址是http://coral.qq.

Python 爬取笔趣阁小说

最近在学习 Python,觉得爬虫很好玩,今天我准备爬取我看了至少三遍的小说<雪中悍刀行>,作者是烽火戏诸侯,他的小说很有才华,有着很多的粉丝,但他很多部小说都处于断更状态,因此人称大内总管. 我准备爬取小说的网站是新笔趣阁,这里一个盗版网站,是名门正派的眼中钉,不过对于我这种不想交钱看小说的人,没资格评论它,这个网站连载的小说更新的还是比较快的,内容都是和正版的内容一模一样.好了,废话不多说了,下面开始放代码: 我在抓取小说内容时先用了 requests 库来抓取,结果就抓到了一章小说的开头