找回密码
  注册[Register]
查看: 405|回复: 5

[python] 某视频爬虫批量下载

[复制链接]
发表于 2022-6-2 17:34 来自手机 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

本帖最后由 hy123 于 2022-6-2 17:35 编辑

链接地址:aHR0cDovL2YxMDIwLndvcmthcmVhNS5saXZlL3YucGhwP2NhdGVnb3J5PWhvdCZ2aWV3dHlwZT1iYXNpYyZwYWdlPQ==
测试过,可以批量下载!!需要挂Dai_Li
ffmpeg下载链接和M3U8下载器说明:https://github.com/hecoter/m3u8download_hecote
[Python] 纯文本查看 复制代码
"""
        ************************************
          Description: 好东西,放在这里
          Author: @
          Github: https://github.com/jianala
          Date: 2022-06-02 13:57:24
          FilePath:on_download.py
          LastEditors: @
          LastEditTime: 2022-06-02 15:17:53
          善始者实繁,克终者盖寡。
 
        ************************************
"""
 
from lxml import etree
import re
import requests
import os
import requests.packages.urllib3
from m3u8download_hecoter import m3u8download
import base64
 
requests.packages.urllib3.disable_warnings()
 
 
# 
# 是否配置代{过}{滤}理,国内访问速度较慢
def proxy_set():
    proxy_set = input('Do you want to use proxy?[y/n]')
    if proxy_set == 'y':
        global my_proxies
        proxies_set = input('input your proxy config ep:"127.0.0.1:7890"')
        my_proxies = {"http": "http://127.0.0.1:7890", "https": "https://127.0.0.1:7890"}
        if proxies_set != '':
            my_proxies['http'] = 'http://'+proxies_set
            my_proxies['https'] = 'https://'+proxies_set
 
    elif proxy_set == 'n':
        my_proxies = ''
    else:
        proxy_set()
 
def get_well(response):
    '''
    获取m3u8下载号码
    '''
    try:
        et = etree.HTML(response.text)
        well_list = et.xpath('//div[@class="thumb-overlay"]/@id')[:-1]
        well_title = et.xpath('//div[@class="thumb-overlay"]/../span/text()')[:-1]
    except:
        print('缺少参数')
    finally:    
        m3u8_list = [{'m3u8url':'https://la.killcovid2021.com/m3u8/{num}/{num}.m3u8'.format(num=re.findall('\d+',well_list)[0]),'title':well_title} for well_title,well_list in zip(well_title,well_list)]
 
    return m3u8_list
 
# 爬虫主体,flag为页码
def spider(flag):
    # 如果连接访问不了,在这里把base_url替换成你知道的标准地址
    page_url = b'aHR0cDovL2YxMDIwLndvcmthcmVhNS5saXZlL3YucGhwP2NhdGVnb3J5PWhvdCZ2aWV3dHlwZT1iYXNpYyZwYWdlPQ=='
    page_url = base64.b64decode(page_url).decode('utf-8')
    page_url = page_url+ str(flag)
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36Name',
        'Referer': 'http://91porn.com',
        'Accept-Language': 'zh-CN,zh;q=0.9'}
    get_page=requests.get(url=page_url, headers=headers)
    m3u8_list = get_well(get_page)
    download_header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36Name',
        'Connection': 'keep-alive',
         
    }
    dir_download = os.path.join(os.path.dirname(__file__),'91pron_download')
    for m3u8 in m3u8_list:
        m3u8download(m3u8url=m3u8['m3u8url'],title = m3u8['title'],enable_del=True,proxies=my_proxies,work_dir=dir_download)
 
 
if __name__ == '__main__':
    proxy_set()
    for i in range(1,4):
        spider(i)


特别注意的点有2个,第一个是m3u8download 源码没挂代{过}{滤}理,需要手动改一下,第二个urllib3的版本必须是urllib3==1.25.11

163653ilxm2lw9z70ckt9o.jpg

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2022-6-2 17:34 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-6-2 17:35 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-6-2 17:47 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-6-2 17:49 | 显示全部楼层
先收藏了,万一用到呢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-6-2 17:55 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-5-5 01:54 , Processed in 0.044607 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表