网页抓取视频

use*_*085 2 python video screen-scraping

我正在尝试通过在https://www.watchcartoononline.com/bobs-burgers-season-9-episode-3-tweentrepreneurs下载 Bob's Burgers 的电视剧集来进行概念验证。

我不知道如何从这个网站提取视频网址。我使用 Chrome 和 Firefox Web 开发人员工具来确定它在 iframe 中,但是使用 BeautifulSoup 搜索 iframe 提取 src url,返回与视频无关的链接。对 mp4 或 flv 文件的引用在哪里(我在开发人员工具中看到 - 即使禁止单击它们)。

任何关于如何使用 BeautifulSoup 和请求进行视频网络抓取的理解将不胜感激。

如果需要,这里有一些代码。很多教程都说使用“a”标签,但我没有收到任何“a”标签。

import requests
from bs4 import BeautifulSoup

r = requests.get("https://www.watchcartoononline.com/bobs-burgers-season-9-episode-5-live-and-let-fly")
soup = BeautifulSoup(r.content,'html.parser')
links = soup.find_all('iframe')
for link in links:
    print(link['src'])
Run Code Online (Sandbox Code Playgroud)

Dim*_*kov 5

import requests
url = "https://disk19.cizgifilmlerizle.com/cizgi/bobs.burgers.s09e03.mp4?st=_EEVz36ktZOv7ZxlTaXZfg&e=1541637622"
def download_file(url,filename):
    # NOTE the stream=True parameter
    r = requests.get(url, stream=True)
    with open(filename, 'wb') as f:
        for chunk in r.iter_content(chunk_size=1024): 
            if chunk: # filter out keep-alive new chunks
                f.write(chunk)
                #f.flush() commented by recommendation from J.F.Sebastian       
    return filename

download_file(url,"bobs.burgers.s09e03.mp4")
Run Code Online (Sandbox Code Playgroud)

此代码会将此特定剧集下载到您的计算机上。视频 url 嵌套在<video>标签中的<source>标签内。