szsnk144864 发表于 2022-11-26 21:39

小白python爬视频链接求大佬指点

本帖最后由 szsnk144864 于 2022-11-26 21:40 编辑

各位大佬好,我在爬这个视频的时候https://www.bdys01.com/play/16268-1.htm

发现视频是直接可以下载mp4文件的,但是在源代码里发现没有这个下载链接,



捣鼓了一会发现,在这个里找到下载地址





通过代码我找到了这个网页地址

video_ID = (re.findall((r'var pid = (.*?);'), (response.text), re.I))
video_url = 'https://www.bdys01.com/god/' + video_ID

通过这个网址获取网页内容,却一直是错误的,

我也就止步于此,不知道如何获取到下载地址了,

恳求各位大佬指点,十分感谢

xiadongming 发表于 2022-11-26 22:09

runfog 发表于 2022-11-26 22:27

有什么报错的吗?

grekevin 发表于 2022-11-26 22:28

你的第三张图中的url后面拼接个13位时间戳就行。比如:url/13位时间戳.mp4,拼接后的链接就可以直接下载了

知心 发表于 2022-11-26 22:37

视频的url是https://hkc-download.weiyun.com/ftn_handler/A3bfcea27a32Ca5F9c59a98ba85e095c26684f10a30497C57FFD7308B28095D4/1669473341546.mp4 ,你研究的基础上加上13位的时间戳试试

dtsuifeng 发表于 2022-11-26 23:03

本帖最后由 dtsuifeng 于 2022-11-26 23:15 编辑

只会用selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

def main():

    global br , wait
    br= webdriver.Chrome()

    wait= WebDriverWait(br,10)
    br.implicitly_wait(6)
    url=r'https://www.bdys01.com/play/16268-1.htm'
    br.get(url)
    time.sleep(18)
    el =wait.until( EC.presence_of_element_located((By.XPATH,'//*[@id="video"]/div/video')))
    print (el.get_attribute('src'))

if __name__=="__main__":
   
    main()
   

liert 发表于 2022-11-26 23:05

不加时间戳也行在 .mp4 前面加个/就可以了

99910369 发表于 2022-11-26 23:13

MP4 能直接下载,也测试过了,估计是你代码其他地方有问题,和这个URL链接没关系

liert 发表于 2022-11-26 23:30

本帖最后由 liert 于 2022-11-26 23:35 编辑

回复错了

jk153002 发表于 2022-11-27 00:10

他这个有加密签名,通过“https://www.bdys01.com/god/108548”获取到的下载链接,应该是有一定的有效期

加密位置
页: [1] 2 3
查看完整版本: 小白python爬视频链接求大佬指点