小说、图片、小视频都弄了,今天就下载电影或者电视剧吧,目标网站:https://www.okzyw.com/

首先进入搜索页面:https://www.okzyw.com/index.php?m=vod-search
搜索自己喜爱的剧(比如我就喜欢西部世界^ _ ^)


进入Network查看发现是POST请求:

我把数据也截下来了,直接上代码就行:

import requests
import parsel,os
from ffmpy3 import FFmpeg
from concurrent.futures import ThreadPoolExecutor as poolheaders ={'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
}wd = "西部世界第一季"
params = {'wd': wd,'submit': 'search',
}
target = 'http://www.okzyw.com'
url = 'https://www.okzyw.com/index.php?m=vod-search'html = requests.get(url,params=params,headers=headers).textres = parsel.Selector(html)
for each in res.xpath('//div[@class="xing_vb"]/ul[2]/li'):link = target + each.xpath('./span[2]/a/@href').get()print(link)

内容页拿到:

output:
http://www.okzyw.com/?m=vod-detail-id-12790.html

进入内容页后我们需要将电影标题作为文件夹,免得后面会乱:

html = requests.get(link).text
res = parsel.Selector(html)
# 获取电影标题做文件夹
title = res.xpath('//div[@class="vodh"]/h2/text()').get()# 创建文件夹
if title not in os.listdir("./"):os.mkdir(title)

里面有两种格式,我们选择m3u8格式的:

因为是静态网页,我就直接上代码了:

    for each in res.xpath('//div[@id="2"]/ul/li'):# 获取集数num = each.xpath('./text()').get().split("$")[0]# 获取每一集对应的链接m3u8 = each.xpath('./input/@value').get()dic_url[m3u8] = numprint(m3u8)

顺利拿到:

接下来就是把m3u8格式的下载下来就行了,m3u8格式是由多个ts格式组成的,也是现在大多数网站都会选择的方式,也就是说,你会了这个,然后再去爬其他的也同样有用:

既然是由多个ts组成,那么如何合并呢,这里我们需要用到一个库:ffmpy3
直接pip就行

pip install ffmpy3

之后就是两行代码就能将ts合并:

from ffmpy3 import FFmpeg
FFmpeg(inputs={URL:None}, outputs={name:None).run()

不过在此之前需要下载一个文件,解压后将FFmpeg.exe放在py文件目录下,我已经放在网盘了,需要的朋友可以自行下载,这个是64位的,需要32位的可以留言:
链接:https://pan.baidu.com/s/1evGhCbEVUmVvaQkYFYWVNQ
提取码:45cv
因为每一集都有几百M,所以开8个线程:

import requests
import parsel,os
from ffmpy3 import FFmpeg
from concurrent.futures import ThreadPoolExecutor as poolheaders ={'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
}
wd = input("请输入您要下载的影片名称(比如:西部世界第一季):")
# wd = "西部世界第一季"
params = {'wd': wd,'submit': 'search',
}
target = 'http://www.okzyw.com'
url = 'https://www.okzyw.com/index.php?m=vod-search'html = requests.get(url,params=params,headers=headers).textres = parsel.Selector(html)
for each in res.xpath('//div[@class="xing_vb"]/ul[2]/li'):link = target + each.xpath('./span[2]/a/@href').get()dic_url = {}html = requests.get(link).textres = parsel.Selector(html)# 获取电影标题做文件夹title = res.xpath('//div[@class="vodh"]/h2/text()').get()# 创建文件夹if title not in os.listdir("./"):os.mkdir(title)for each in res.xpath('//div[@id="2"]/ul/li'):# 获取集数num = each.xpath('./text()').get().split("$")[0]# 获取每一集对应的链接m3u8 = each.xpath('./input/@value').get()dic_url[m3u8] = numdef down_movie(k,v):print("正在下载:",end="")print(k,v)name = os.path.join(title, v +".mp4")FFmpeg(inputs={k:None}, outputs={name:'-loglevel quiet'}).run()
if __name__ == "__main__":# 开启线程池pl = pool(max_workers=8)pl.map(down_movie,dic_url.keys(),dic_url.values())pl.shutdown()

因为没有做优化,所以在输入名字的时候尽量详细点:

搞定:

可以看到,确实是在同时下载,趁这个时间可以去吃个午饭,回来应该就下载完了。

因本人文采有限,如有哪里不是很清楚的可以给我留言,我会尽量讲清楚的^ _ ^

Python爬取最爱的电影并下载到本地相关推荐

  1. Python爬取视频之爱情电影及解密TS文件和两种合并ts的方法

    俗话说,兴趣所在,方能大展拳脚.so结合兴趣的学习才能事半功倍,更加努力专心,apparently本次任务是在视频网站爬取一些好看的小电影,地址不放(狗头保命)只记录过程. 实现功能: 从网站上爬取采 ...

  2. Python爬取2022春节档电影信息

    Python爬取2022春节档电影信息 前提条件 相关介绍 实验环境 具体步骤 确定目标网站 分析网站 按F12打开浏览器操作台 按Ctrl+Shift+C快捷键,用鼠标找到目标元素 按Ctrl+F快 ...

  3. Python爬取豆瓣热映电影

    Python爬取豆瓣热映电影 # encoding: utf-8import requests from lxml import etree# 1. 将目标网站上的页面抓取下来 headers = { ...

  4. Python爬取京东商品评论和图片下载

    Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看 import requests import time import json im ...

  5. [爬虫]Python爬取网易云音乐搜索并下载歌曲!

    Python爬取网易云音乐搜索并下载歌曲! 文章目录 Python爬取网易云音乐搜索并下载歌曲! 1.准备工作 2."实地"观察 3.开始码代码! 4.搜索并下载 结束语 1.准备 ...

  6. Python爬取QQ音乐url及批量下载

    QQ音乐还是有不少的好音乐,有些时候想要下载好听的音乐,如果在网页下载都是还需要登录什么的.于是,来了个QQmusic的爬虫.至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在url吧. 参考 ...

  7. python 24位图转 8位_Python爬取PPT模板小工具下载-Python爬取PPT模板小工具免费版下载v1.0...

    由于很多PPT抓取工具都会因为版本问题无法使用,所以论坛大神就自己写了这款Python爬取PPT模板小工具,可以帮助用户轻松获取各种PPT模板,使用的时候注意一次只能下载一种类型.软件仅供交流学习,下 ...

  8. python爬取图片源码_半次元图片爬取-python爬取半次元图片源码下载-西西软件下载...

    python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋 ...

  9. 用Python爬取豆瓣首页所有电影名称、每部电影影评及生成词云

    1.爬取环境: window 7 Chrome 浏览器 注册豆瓣.注册超级鹰 2.安装第三方库:安装第三方库: 主程序用到的库有 import sys, time import pytesseract ...

最新文章

  1. 全桥整流等效负载阻抗是多少?
  2. DevExpress z
  3. python转r字符_python r不转义变量
  4. The current branch is not configured for pull N...
  5. (7)Linux进程调度-O(1)调度算法
  6. 蓝桥杯 算法训练 K好数
  7. Linux内核开发_3_busybox
  8. JanusGraph图数据库系统简介
  9. Science| 深度解析肠道菌群与肥胖
  10. T - 地狱之门 (URAL - 1036 )
  11. android 照片拼接长图_长图拼接app下载 长图拼接制作 for Android v2.6.1 安卓版 下载-脚本之家...
  12. 2018中国计算机所有相关会议,2018年计算机视觉顶会和人工智能顶级会议时间表...
  13. JavaPoet动态生成代码,高薪程序员必会
  14. HTML/XML转义字符对照表
  15. UML-在线声称uml序列图
  16. Android通讯录模糊匹配搜索实现(号码 首字母 简拼 全拼)
  17. qt 二次开发 研华daq_研华|数据采集|DAQNavi-告别复杂编程,研华DAQNavi让您轻松实现数据采集...
  18. 认识大牛 深度学习“三剑客”
  19. 2022年天猫8月份有什么大的活动?
  20. 如何打开*.ASA文件!

热门文章

  1. c语言学习笔记(8)c 语言面试题(二)
  2. 从热门话题世界这么大我想去看看想到的:年轻人该如何改变这个世界 无力感越来越强,最后却成为了力量...
  3. 总经理专访:Acer何谦永评谈08/09笔记本产业
  4. 2019春夏巴黎高级定制时装周 T台变身杂技场
  5. 快速上手Mac效率神器Alfred以及Alfred常用操作
  6. 用Shell 语言编制一Shell 程序,该程序输出九九乘法表
  7. 仿芒果TV微信小程序源码
  8. OSChina 周二乱弹 ——告诉你们活到一百岁的秘密!
  9. 2019年 -- 只聊感情
  10. (初学者)用python实现九九乘法表