首页 > 编程语言 >python搜索电影在线观看

python搜索电影在线观看

时间:2024-04-01 16:59:31浏览次数:18  
标签:在线 get python href 搜索 print page match browser

练手的项目,搜索的资源大部分都是枪版的。。。


import mechanicalsoup
import re
import json
def extract_episode_number(label):
    match = re.search(r"(\d+)[^0-9]*集", label)
    if match:
        return int(match.group(1))
    else:
        return 1
def get_movie(keyword, pages=1):
    browser = mechanicalsoup.StatefulBrowser()

    movie_links = []

    for page in range(1, pages+1):
        url = f'https://vidhub.in/search/{keyword}/page/{page}/'
        browser.open(url)
        titles = browser.get_current_page().select('.title a')
        jis = browser.get_current_page().select('.label')
        print("第 "+str(page)+" 页")
        for title,ji in zip(titles,jis):
            href = title['href']
            text = title.text
            href = href.replace('/detail/', '/watch/').replace('.html', '/1.html')
            print(f'电影名: {text}')
            for i in range(extract_episode_number(str(ji))+1):
              if i>1:
               print("第"+str(i)+"集")
              new_href= href.replace('/1.html', f'/{i+1}.html')
              browser.open(new_href)
              page_content = browser.get_current_page().prettify()
              pattern = re.compile(r'const playUrls = ({.*?});', re.DOTALL)
              match = pattern.search(page_content)
              if match:
                playUrls = match.group(1)
                urls_dict = json.loads(playUrls)
              print("播放列表:")
              for key, value in urls_dict.items():
                bjm3u8_link = value.replace('\\/', '/')
                print(bjm3u8_link)
                movie_links.append(bjm3u8_link)
            print("*" * 10)

    return movie_links

#搜索
get_movie("周处除三害", pages=1)#关键词和页数

把搜索到的资源地址选一个替换下方的src路径


<!DOCTYPE html>
<html>
<head>
  <link href="https://vjs.zencdn.net/7.16.0/video-js.min.css" rel="stylesheet">
  <script src="https://vjs.zencdn.net/7.16.0/video.min.js"></script>
</head>
<body>
  <video id="my-video" class="video-js vjs-default-skin" controls></video>

  <script>
    var player = videojs("my-video");
    var options = {
      sources: [{
        src: "https://vod12.xmyysw.com/20240114/8JDWrBUn7v3/index.m3u8",
        type: "application/x-mpegURL"
      }]
    };

    player.ready(function() {
      player.src(options.sources);
    });
</script>
</body>
</html>

标签:在线,get,python,href,搜索,print,page,match,browser
From: https://www.cnblogs.com/qcy-blog/p/18108831

相关文章

  • vscode中python下面的代码都变暗了
     现象: 分析在VisualStudioCode(VSCode)中,如果Python代码变暗,这通常是因为编辑器将这些代码识别为未使用或未激活的代码。这可能是由几个原因引起的:代码未被执行或引用:如果代码块没有被函数、类或其他代码结构所引用,VSCode可能会将其视为未使用的代码。代码被......
  • 基于 Python + Requests + Unitest + HwTestReport的API自动化测试框架
    一、框架目录结构概览 二、框架执行流程简介 三、框架目录结构简介▹case:存放测试用例▹data:存放测试数据及测试数据的处理▹config:存放相关配置文件(Token获取、Excel测试数据读取、requests二次封装等)▹file:存放测试接口信息▹report:存放测试报告▹to......
  • Python 代码混淆工具概述
    在保护Python代码安全方面,有多种混淆工具可供选择,包括Cython,Nuitka,Pyminifier和IPAguard。本文将介绍这些工具的特点和适用情况,以及在实际应用中的注意事项。 ......
  • 让工作自动化起来!无所不能的Python
    让工作自动化起来!无所不能的Python一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一内容简介作者简介前言读者对象如何阅读本书购买链接参与方式随着我国企业数字化和信息化的深......
  • Cron在线表达式生成器
     原文连接 https://cron.ciding.cc/ 每秒允许的通配符[,-*/]  周期从  到  秒  周期从  秒开始,每  秒执行一次 指定  表达式表达式字段  秒分钟小时日月星期年Cron表达式  反解析最近5次运行时间......
  • 【课程设计/实训作业】python学生成绩管理系统源码
    项目介绍一直想做一款学生成绩管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套管理系统。学习过程中遇到问题可以咨询评论。在线体验http://score.gitapp.cn/(账号:admin123密码:admin123)源码地址https://github.com/geeeeeee......
  • 如何批量在线将word转成pdf格式?
    我们都知道word可以直接另存为pdf格式,但是每次只能操作一个文档,如果需要转换的文档较多,操作起来就特别麻烦,教你4种支持批量在线word转pdf的好用方法。1、ilovepdf.com.cnilovepdf在线转换器是一款非常便捷的pdf转换器工具,支持pdf转word,同样也能将word转成pdf,支持一键批量文件上......
  • python golang 安装私有库的用法
    python安装在requirements.txt增加了github私有安装库的依赖git+https://${GITHUB_TOKEN}@github.com/YOLOTECHNOLOGY/bossjob-auth-lib.git@${GITHUB_LIB_BRANCH}当前该库无法通过pipenv直接安装,需要进入到虚拟环境,通过pipinstall进行安装安装前需要设置GITHUB_......
  • 搜索算法练习——拼图问题
    拼图问题是一个经典的搜索问题,其中目标是将一个拼图板恢复到初始状态,或者找到一个初始状态到目标状态的最短路径。我们可以使用广度优先搜索(BFS)来解决这个问题,将每个状态作为节点,并尝试所有可能的移动。fromcollectionsimportdequedefswap(board,i,j,ni,nj):......
  • Python学习笔记
    Python一、导学Pthon语言基础入门 Pthon语言高阶加强大数据分析PySpark二、初识Python你好Python程序print("HelloWorld!!")>>HelloWorld!!!输入的双引号和括号为英文字符三、Python基础语法(一)字面量     1.定义:在代码中,被写下来的固定的值,称之为字......