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

东莞营销网站建设多少钱搜索引擎排名优化价格

东莞营销网站建设多少钱,搜索引擎排名优化价格,网页设计有啥教程,关于公司申请建设门户网站的请示如果有疑问的话可以在我的谈论群#xff1a;706128290 来找我 目录 前言 二、编写代码 1.引入库 2.编写主类 3. 自动获取cookies值和生成headers 4.获取命令行参数 运行效果 前言 browser_cookie3 第三方模块 browser_cookie3是browser_cookie模块的分支#xff0c;… 如果有疑问的话可以在我的谈论群706128290 来找我 目录 前言 二、编写代码 1.引入库 2.编写主类 3. 自动获取cookies值和生成headers 4.获取命令行参数 运行效果 前言 browser_cookie3 第三方模块 browser_cookie3是browser_cookie模块的分支它可以获取到电脑上的浏览器cookies本次程序会使用到此模块。 一、HTML藏玄机 在小破站的任意一个视频html中head标签下都有一个script。里面有window.__playinfo__的json数据 通过JSON在线解析及格式化验证 - JSON.cn 进行解析我看到了以下内容 天助我也我想要的视频链接不就是在这里吗 二、编写代码 1.引入库 代码如下 # 处理windows.__playinfo__中的json import json # 后面使用命令行获取链接 import sys import os import getopt# 用于请求和解析链接 import requests from fileid.fileid import Newid # 生成随机文件名 from tqdm import tqdm from bs4 import BeautifulSoup# 自定义的功能文件 import getHeaders import bvid_aid2.编写主类 代码如下 PATH: str os.path.split(__file__)[0] COOKIE: bool False OUTPUTPATH: str PATH PAGE: list [None ]class GBV:def __init__(self, _url: str, _browser: int, _params) - None:self.url _urlself.params _paramsself.headers getHeaders.get(_browser)self.title Noneself.audio Noneself.video Noneself.tqdm tqdm(range(100))self.tqdm.set_description(fUrl is: {self.url})def move(self, file: str, toPath: str) - str:if os.path.isfile(file):rfp open(file, rb)else:return Noneif os.path.isfile(toPath) False:if os.path.isdir(toPath):toPath os.path.join(toPath, self.title.mp4)else:return Nonetry:with open(toPath, wb) as wfp:wfp.write(rfp.read())except OSError:toPath os.path.join(OUTPUTPATH, Newid(10).newfileid().mp4)with open(toPath, wb) as wfp:wfp.write(rfp.read())rfp.close()os.remove(file)return toPathdef GetPlayinfoData(self) - tuple:with requests.get(self.url, headersself.headers, paramsself.params) as get:self.title BeautifulSoup(get.text, lxml).find_all(h1)[0].attrs[title]data BeautifulSoup(get.text, lxml).find_all(script)[2].text.split(__playinfo__)[-1]data json.loads(data)self.audio data[data][dash][audio][0][baseUrl]self.video data[data][dash][video][0][baseUrl]return (self.title, self.audio, self.video)def save(self) - None:randomStr os.path.join(os.getcwd(), Newid(5).newfileid().mp4)outputJoin os.path.join(os.getcwd(), output.mp4)tempMp4Join os.path.join(os.getcwd(), temp.mp4)tempMp3Join os.path.join(os.getcwd(), temp.mp3)ffempgJoin os.path.join(PATH, ffmpeg.exe)with requests.get(self.audio, headersself.headers) as AudioGet:with open(tempMp3Join, wb) as faudio:self.tqdm.set_description(保存音频文件....)faudio.write(AudioGet.content)faudio.close()self.tqdm.update(50)with requests.get(self.video, headersself.headers) as VideoGet:with open(tempMp4Join, wb) as fvideo:self.tqdm.set_description(保存视频文件...)fvideo.write(VideoGet.content)fvideo.close()os.popen(fr{ffempgJoin} -y -i {tempMp4Join} {outputJoin}).read()os.popen(fr{ffempgJoin} -y -i {outputJoin} -i {tempMp3Join} -c:v copy -c:a copy -bsf:a aac_adtstoasc {randomStr},).read()moveRturn self.move(f{randomStr}, OUTPUTPATH)self.tqdm.update(50)self.tqdm.close()if COOKIE:with open(f{PATH}/.cookie, w, encodingutf-8) as wfp:wfp.write(COOKIE)print(\n删除缓存...)os.remove(tempMp4Join)os.remove(tempMp3Join)os.remove(outputJoin)print(f\nOk视频保存文件为{moveRturn})def run(self, bvid: str) - None:global OUTPUTPATHurl https://api.bilibili.com/x/web-interface/wbi/view/detailparams {bvid: bvid,aid: bvid_aid.getAID(bvid),}videos {}with requests.get(url, paramsparams, headersself.headers) as get:page_all 1for i in get.json()[data][View][pages]:videos[i[page]] i[part]page_all 1if OUTPUTPATH os.path.split(__file__)[0]:try:OUTPUTPATH os.path.join(os.getcwd(),get.json()[data][View][title])if os.path.isdir(OUTPUTPATH) False:os.mkdir(OUTPUTPATH)except OSError as oserror:print(f{oserror}\n程序将随机生成文件夹名。)OUTPUTPATH os.path.join(os.getcwd(),Newid(10).newfileid())if os.path.isdir(OUTPUTPATH) False:os.mkdir(OUTPUTPATH)if PAGE[0] ALL:for key, value in videos.items():self.params {p: i}self.GetPlayinfoData()self.title valueself.save()elif (type(PAGE) list) and (PAGE[0] ! None):for i in PAGE:if i int(page_all):self.params {p: i}self.GetPlayinfoData()self.title f{i}.videos[i]self.save()elif PAGE[0] None:self.GetPlayinfoData()self.save()1.run函数用于读取用户输入的数据并处理再启动相应函数 2.GetPlayinfoData就是用于处理window__playinfo__对象中的数据的 2.save函数用于下载音频与视频再使用ffmpeg合并后保存文件。 3. 自动获取cookies值和生成headers GetBilibiliCookies.py import browser_cookie3class GetBrowser_cookies:def __init__(self, browser: int 0) - None:self.Bkeys [buvid4,b_nut,b_lsid,buvid3,i-wanna-go-back,_uuid,FEED_LIVE_VERSION,home_feed_column,browser_resolution,buvid_fp,header_theme_version,PVID,SESSDATA,bili_jct,DedeUserID,DedeUserID__ckMd5,b_ut,CURRENT_FNVAL,sid,rpdid]try:if browser 0:self.browserCookes browser_cookie3.edge()if browser 1:self.browserCookes browser_cookie3.chrome()if browser 2:self.browserCookes browser_cookie3.firefox()except browser_cookie3.BrowserCookieError:self.browserCookes Noneexcept PermissionError as PE:self.browserCookes Noneraise PermissionError(f{PE}\n可能是浏览器引起的问题可以尝试重装浏览器)def get(self) - str:cookies for i in self.browserCookes:if i.name in self.Bkeys:cookies f{i.name}{i.value}; return cookiesdef getValue(self, key: str) - str:for i in self.browserCookes:if key i.name:return i.valuereturn 为什么要获取cookies值当然没有cookie值也行但是下载下来的文件一般都是低画质的。但是你登录了账户在浏览器就可以通过浏览器记录的cookies来提交服务器。 前提是你在浏览器登录了bilibili账户。 getHeaders.py 此处为生成headers的程序 import GetBilibiliCookiesUSER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 REFERER https://www.bilibili.com/def get(browser: int 0) - dict:return {User-Agent:USER_AGENT,cookie: GetBilibiliCookies.GetBrowser_cookies(browser).get(),Referer: REFERER} bvid_aid.py import requestsimport getHeadersdef getAID(bvid: str) - int:aid Noneurl fhttps://api.bilibili.com/x/web-interface/view?bvid{bvid}with requests.get(url, headersgetHeaders.get()) as get:if get.status_code 200:aid get.json()[data][aid]return aid 4.获取命令行参数 代码如下 def main(_url: str, _browser: int, bvid: str, params: dict) - None:gbv GBV(_url, _browser, params)gbv.run(bvid)def help() - None:print(######################################################################### Get Bilibili Video (gbv)# Author: PYmili# Email: mc2005wj163.com########################################################################Command:--cookie or -c [Url Cookies]--input_url or -i [Video URL]--browser or -b [edge(default), chrome, firefox]--output or -o [Output file or path]--page or -p [start-end / all] Select an array of videos to download)if __name__ __main__:URL NoneBROWSER 0BVID NonePARAMS {}options, argv getopt.getopt(sys.argv[1:], i:c:b:o:p:,[--input_url, --cookie, --browser, --output, --page])for key, value in options:if key in [-i, --input_url]:splitValue value.split(video)[-1]splitValue splitValue.split(/, 1)[-1].split(/, 1)URL valueBVID splitValue[0]if splitValue[-1]:for i in splitValue[-1][1:].split():try:PARAMS[i.split()[0]] eval(i.split()[-1])except SyntaxError:PARAMS[i.split()[0]] str(i.split()[-1])if key in [-c, --copkie]:COOKIE valueif key in [-b, --browser]:if value chrome:BROWSER 1elif value firefox:BROWSER 2if key in [-o, --output]:if os.path.isdir(value):OUTPUTPATH valueelse:print(f没有{value} 这个路径。)if key in [-p, --page]:if - in value:start, end value.split(-)PAGE [i for i in range(int(start), int(end)1)]elif value in [all, ALL, All]:PAGE[0] ALLelse:PAGE.append(int(value))if (URL ! None) and (BVID ! None):main(URL, BROWSER, BVID, PARAMS)else:help() 这就是获取终端输入的传输来运行程序 。 运行效果 当没有输入参数时 基础输入格式 完整参数: --cookie 或者 -c [此处填写cookies] --input_url 或者 -i [填入B站视频链接]--browser 或者 -b [edge(default), chrome, firefox 有这三个浏览器供选择默认edge]--output 或者 -o [文件输出路径默认当前位置]  --page 或者 -p [start-end / all] 选择要下载的视频阵列如0-100或者 all 全部下载 以上就是本篇内容如果有疑问的话可以在我的谈论群706128290 来找我下次再见拜拜
http://www.huolong8.cn/news/178968/

相关文章:

  • 做百度推广一定要有自已网站成都有做公司网站的公司吗
  • 升腾d9116 做网站网站建设宣传词
  • 国内四大高端建站公司html5可以做网站吗
  • 宜宾网站建设哪家好企业网页设计报价
  • 深信服对单一网站做限速建设商务网站公司
  • 自建网站如何备案新网站多久被收录
  • 建游戏网站黄骅港出海捕鱼
  • 甜品网站模板代码关于做花茶网站的策划书
  • 重庆建站多少钱一年wordpress jfinal
  • 网站全站优化织梦cms网站模板修改
  • 益阳有专做网站的吗企业微网站
  • 电大网上作业代做网站如何在互联网上做推广
  • lamp网站怎么建设招聘信息网站
  • wordpress 网页排版网站seo优化有哪些
  • 2017国外优秀网站模版兴安盟住房和城乡建设部网站
  • 互联网网站 有哪些wordpress 5.0
  • 利用网上菜谱做网站建免费的网站
  • 求做网站丹阳市建设局网站
  • 手机网站制作机构广西中小企业网站建设
  • 陕西建设 节水 官方网站东莞网站优化排名网站
  • 培训行业门户网站建设方案网站自动采集系统
  • 旅游网站建设水平评价百度广告联盟入口
  • 桥梁毕业设计代做网站网站开发技术说明文档
  • 做二维码的网站wordpress模板与主题的区别
  • dede可以做购物网站吗做电商需要准备什么
  • 河南品牌网站建设做服装设计兼职的网站
  • 襄樊公司网站建设做擦边网站 服务器
  • 嘉祥网站建设哪家好百度微建站
  • 景县网站建设公司昆明网络哪家好
  • 建设银行嘉兴分行官方网站云盘建设网站