当前位置: 首页 > news >正文

学做网站看什么wordpress评论刷新查看

学做网站看什么,wordpress评论刷新查看,苏州技术馆网站建设,电脑公司网站模板下载某某美剧剧集下载(从搜索片名开始) 本篇文章主要是为大家提供某些电影网站的较常规的下载电影的分析思路与代码思路(通过爬虫下载电影)#xff0c;我们会从搜索某部影片的关键字开始直到成功下载某一部电影。 地址#xff1a;aHR0cHM6Ly93d3cuOTltZWlqdXR0LmNvbS9pbmRleC5od…某某美剧剧集下载(从搜索片名开始) 本篇文章主要是为大家提供某些电影网站的较常规的下载电影的分析思路与代码思路(通过爬虫下载电影)我们会从搜索某部影片的关键字开始直到成功下载某一部电影。 地址aHR0cHM6Ly93d3cuOTltZWlqdXR0LmNvbS9pbmRleC5odG1s 先来分析页面 打开开发者工具然后再搜索框输入任意内容开始搜索影片(如搜索战火)并抓包 从XHR来看的话返回的都是js文件所以我们可以先考虑document中的html文档是否包含了我们需要的有效数据。 document中只返回了一个包并且通过预览来看的话我们可以看到通过关键字搜索出来的电影是存在于这个html中的所以我们就可以直接通过xpath解析将这些电影的片名解析出来便于后面我们对影片进行选择。然后就可以进入到电影的详情页面(xpath解析出详情页的url)了。例如此处我们选择《兄弟连》这部电影。 进入到详情页之后我们需要判断这部影片是否已经更新完成因为下面我们需要选择播放线路不同的播放线路已更新的剧集可能不同但是经过对多部影片的详情页分析(此处不再贴图大家自己去观察)发现已完结的影片是不会存在上述问题的。但是正在连载中的影片可能就存在这样的问题所以我们需要判断一下已经连载的剧集与这些播放线路中的剧集集数是否相等如果相等的话才是可用的线路否则是不可用的线路。当然也有可能存在一条线路都无法播放的情况这个就是服务器的问题了咱们客户端这边是没办法处理的。之后我们就要根据选择的线路去到播放页面就可以准备下载电视剧了。 此处我们选择的是九九云线路来到播放页面之后通过抓包我们会发现并没有媒体文件但是存在着m3u8与ts的包因此我们能够判断出这个站点的视频是被分割成很多分的片段了。 接下来就是要想办法把这些ts视频下载下来了通常情况下这些文件的url会存在于一个m3u8的文件之中所以我们需要先将m3u8下载下来。从播放页面的源码中我们可以解析出m3u8文件的下载地址(为了方便此处我就不再去请求源码了直接从elements中看大家平时的时候一定是养成习惯把源码下载到本地进行分析) 然后将next后面的url解析出来再进行请求就会看到里面存在着一个新的m3u8文件的地址。 接下来就是通过正则将这个文件中存在的这个地址提取出来进行拼接再进行请求就能够获取到所有的ts文件所在的地址了。 下一步就是将这些ts文件的地址提取出来同样我们选择正则进行提取(或者使用专门处理m3u8的第三方包进行提取)提取出来后拼接成正常的链接存放到一个列表中然后再遍历列表依次请求这些url并按照顺序将视频进行保存。 保存之后通过ffmpeg对视频进行合成关于ffmpeg的配置请大家自行查阅一下相关资料。 合成后的视频 由于时间关系只下载了200个片段进行合成有兴趣的朋友可以改写成并发请求的方式下载所有的片段进行合成。完整代码如下 import os.path import re import requests import urllib3 from lxml import etreeclass SendRequest:基本请求模板待完善urllib3.disable_warnings()def __init__(self):self.ABS_PATH os.path.abspath(os.path.dirname(__file__))self.url self.headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36}self.cookies {} # cookie设置self.data {} # 表单数据self.page 1 # 翻页控制参数self.session requests.session()# self.movie 测试# print(f{self.ABS_PATH}/{self.movie}(临时文件)/{self.movie}.m3u8)# print(f{self.ABS_PATH}/{self.movie}/{self.movie}.mp4)propertydef UGetRequest(self):response self.session.get(urlself.url, headersself.headers, cookiesself.cookies, verifyFalse)return responseUGetRequest.setterdef UGetRequest(self, kwargs: dict):if kwargs.get(url):self.url kwargs.get(url)if kwargs.get(referer):self.headers[referer] kwargs.get(referer)propertydef UPostRequest(self):response self.session.post(urlself.url, headersself.headers, cookiesself.cookies, dataself.data,verifyFalse)return responseUPostRequest.setterdef UPostRequest(self, kwargs: dict):if kwargs.get(url):self.url kwargs.get(url)if kwargs.get(referer):self.headers[referer] kwargs.get(referer)class MeiJu99(SendRequest):def __init__(self):super().__init__()def synthesis(self):合成视频if not os.path.exists(self.movie):os.mkdir(self.movie)cmd fffmpeg.exe -f concat -safe 0 -i {self.ABS_PATH}\\{self.movie}(临时文件)\\{self.movie}.m3u8 -c copy {self.ABS_PATH}\\{self.movie}\\{self.movie}.mp4os.system(cmd)def download_mvs(self, total_mv_urls):下载所有片段if not os.path.exists(self.movie(临时文件)):os.mkdir(self.movie(临时文件))num 1# 按照ffmpeg的格式将ts文件的路径写入到一个m3u8文件之中用于合成视频new_m3u8_file open(self.movie(临时文件)/self.movie.m3u8, a, encodingutf-8)for url in total_mv_urls:self.UGetRequest {url: url}res self.UGetRequestwith open(self.movie(临时文件)/str(num).ts, wb)as f:f.write(res.content)new_m3u8_file.write(file %s\%s\%d.ts % (self.ABS_PATH, self.movie(临时文件), num))new_m3u8_file.write(\n)print(str(num) 下载成功)num1if num 201:breaknew_m3u8_file.close()self.synthesis()def play_page(self, play_pages_url):播放页面提取下载链接self.UGetRequest {url: play_pages_url}response self.UGetRequesttext_html response.content.decode()with open(playpage.html, w, encodingutf-8)as f:f.write(text_html)m3u8_url re.findall(var next(.*?);var prePage, text_html)[0] # 提取播放页面中的m3u8文件的地址self.UGetRequest {url: m3u8_url}m3u8_file self.UGetRequest.contentwith open(1.m3u8, wb)as f:f.write(m3u8_file)# 请求上方获取到的m3u8_url以获取存放了ts地址的m3u8last_m3u8_url m3u8_url.split(/2)[0] re.search(/\d/\w/[\dkb/]*\w/index\.m3u8, m3u8_file.decode()).group()self.UGetRequest {url: last_m3u8_url}response self.UGetRequest.content.decode()# 解析并保存所有的ts地址total_mv_urls [m3u8_url.split(/2)[0]i for i in re.findall(/\d/\w/\d\w/hls/\w\.ts, response)]self.download_mvs(total_mv_urls)def index(self, index_url):电影详情页面self.UGetRequest {url: index_url}response self.UGetRequesttext_html response.content.decode()with open(index.html, w, encodingutf-8)as f:f.write(text_html)tree etree.HTML(text_html)using_lines tree.xpath(//*[idplayTab]/div[1]/ul//li//text()) # 可使用线路(名称)play_tab tree.xpath(//*[idplayTab]/div) # 下载线路mv_information .join(tree.xpath(//*[idzanpian-score]/ul//text())) # 电影信息status .join(tree.xpath(//*[idzanpian-score]/ul/li[2]//text()))if 完结 not in status:numbers_sets .join(re.findall(集数共(.*?)集 每集\d分钟|状态更新至(.*?)集, mv_information)[0])for i, tab in zip(range(len(using_lines)), play_tab[1:]):tab_num len(tab.xpath(./ul/li))if tab_num int(numbers_sets):print(%d. % (i1), using_lines[i](可用), end\t)else:print(%d. % (i1), using_lines[i](不可用), end\t)else:for i, tab in zip(range(len(using_lines)), play_tab[1:]):print(%d. % (i 1), using_lines[i], end\t)print()download_num int(input(请选择下载线路(输入编号):))play_pages_urls [https://www.99meijutt.comi for i in play_tab[download_num].xpath(./ul//li/a/href)]for play_pages_url in play_pages_urls:self.play_page(play_pages_url)breakdef search(self):搜索页面采集titles []self.UPostRequest {url: https://www.99meijutt.com/search.php}self.data[searchword] input(请输入影片关键字或主演名:)response self.UPostRequesttext_html response.content.decode()with open(search.html, w, encodingutf-8) as f:f.write(text_html)tree etree.HTML(text_html)div_lst tree.xpath(//*[idcontent]/div)print(搜索到的电影如下:)for i, div in zip(range(1, len(div_lst)), div_lst): # 遍历数组与div列表为标题设置编号title div.xpath(./div[1]/a/title)[0]if i % 2 ! 0 and i ! len(div_lst)-1:print(str(i) . title, end\t\t)else:print(str(i) . title)titles.append(title)num int(input(请输入您要下载的电影序号:))self.movie titles[num-1]index_url https://www.99meijutt.com div_lst[num-1].xpath(./div[1]/a/href)[0]self.index(index_url)if __name__ __main__:mj MeiJu99()mj.search()
http://www.w-s-a.com/news/250158/

相关文章:

  • 怎样做好网站用户体验申请网站空间
  • 网站建设优化公司招聘福州网站建设思企
  • 设计网站会员wordpress rss聚合
  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜
  • 南宁建站免费模板简单的html网页设计
  • 吉林省建设 安全 网站沐风seo
  • 自己做捕鱼网站能不能挣钱软件开发公司需要什么硬件设备
  • 大连设计网站公司3小说网站开发
  • 建设环保网站查询系统网站建设168
  • 保险网站程序源码wordpress过滤敏感
  • 简述营销型网站推广的方法网站建设报价方案模板
  • 四川林峰脉建设工程有限公司网站为什么建设营销型网站
  • 网站模板搭建已经建网站做外贸
  • 网站建设选哪个wordpress实现微信登录界面
  • 网页设计网站哪个公司好学网站开发要多少钱
  • 商务网站建设ppt做视频分享网站
  • WordPress网站根目录有哪些wordpress用户等级