吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3473|回复: 5
收起左侧

[讨论] selenium 解析网站电影下载

[复制链接]
lihu5841314 发表于 2021-9-2 16:45
[Asm] 纯文本查看 复制代码
from   selenium  import  webdriver
from  selenium.webdriver.common.by import  By
from  selenium.webdriver.support.wait import WebDriverWait
from  selenium.webdriver.support  import expected_conditions  as  EC
import  requests,time,tqdm


headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36',
}
def  get_url():
    # 实例化浏览器对象
    driver = webdriver.Chrome(executable_path=r"C:\Program Files\Google\Chrome\Application\chromedriver.exe")
    for  i  in  range(3):
        try:
            driver.get(url)
            wait = WebDriverWait(driver,10)
            wait.until(EC.presence_of_element_located((By.ID,"PLAYERS")))
            iframe = driver.find_element_by_id("PLAYERS")
            #进入嵌套网页
            driver.switch_to.frame(iframe)
            wait.until(EC.presence_of_element_located((By.CLASS_NAME, "dplayer-video")))
            mov_url = driver.find_element_by_class_name("dplayer-video").get_attribute('src')
            if  mov_url!="":
                driver.quit()  #退出浏览器
                return mov_url
            else:
                driver.quit()  #退出浏览器
                time.sleep(2)
                print("正在重新请求")
                continue
        except:
            print("发生错误,正在重新请求")
            driver.quit()  #退出浏览器
            continue

#请求函数
def  html_response(url):
    for  i  in range(3):
        try:
             resp = requests.get(url,headers=headers,stream=True,timeout=20) # stream(可选)如果为“False”,响应内容将被立即下载
             if resp.status_code ==200:
                 return  resp
        except Exception:
              print(Exception)
              time.sleep(2)
              print("正在重新请求")
              continue


#添加进度条和下载
def  mov_down(url):
     resp =  html_response(url)
     #视频长度
     file_size = int(resp.headers.get('Content-Length'))
     print(file_size)
     #初始化进度条长度
     pbar = tqdm.tqdm(total=file_size)
     with open('电影下载.mp4','wb')  as  f:
         for chunk in  resp.iter_content(1024*1024*2):
              f.write(chunk)
              pbar.set_description("正在下载中")  #设置修改进度条的描述。参数
              pbar.update(1024*1024*2)   #手动更新进度条,对读取文件等流很有用



if __name__ == '__main__':
    jx_url=input("请输入需要解析的网址:")
    if  jx_url!="":
        url = f"https://jx.aidouer.net/?url={jx_url}"
        mov_url = get_url()
        print(mov_url)
        mov_down(mov_url)
        print("下载完成")

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Boomsboy + 1 + 1 共同学习

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

努力的笨蛋 发表于 2021-9-2 17:29
用的是you-get,没接触过这个,一脸茫然。
aonima 发表于 2021-9-2 18:38
414246704 发表于 2021-10-5 08:41
这个我也很喜欢,老看一些VIP电影,可现在这些解析网站也不让下载了,用了你这个代码,出错完全看不懂是哪的原因,输入VIP链接后 一个黑CMD框出现几十秒就不见了,然后恢复正常和没操作一样了。如果你有时间的话请帮我看看这是什么原因。
111111111.png
Jack2002 发表于 2021-10-5 11:21
学习 pyppeteer 就行了 selenium 老了些,这东西也不是万能的,也不是爬虫的核心,更不是精髓,很多网站用这两东西浏览器会被强制关闭!
人家这个小成本网站本身就是盗版,你去爬人家的盗版干什么呢!现在盗版也不让你爬了吧,很多片源都加密了!
qhd11 发表于 2021-10-9 14:36
爬出盗版的,意义不大。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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