63. 爬取图像与ffmpeg视频分解

2019-11-14  本文已影响0人  十里江城

爬取图片


# 爬虫原理+ 实现简单爬虫
# http -> HTML-> 正则 过滤条件-> 其他
# 1 url 2 html src 3 img 4 img url

import numpy as np

import urllib
import urllib3
import os
from bs4 import BeautifulSoup

# load url 
html = urllib.request.urlopen('https://zhuanlan.zhihu.com/').read()
soup = BeautifulSoup(html, 'html.parser', from_encoding = 'utf-8')
images = soup.findAll('img')
print('images: ', images)

# 命名并存储图像
imageName = 0
for image in images:  
    link = image.get('src')
    print('link:',link) 
    
    fileFormat = link[-3:] 
    if fileFormat == 'png' or fileFormat == 'jpg':
        fileSavePath = '~/workplace/DL/1- imageProcessing/8-faceRecognition/crawlerImages' + str(imageName) + '.jpg'
        imageName = imageName + 1
        
        # 存图
        urllib.request.urlretrieve(link, fileSavePath)

print('END')

保存图片如下:


image.png

ffmpeg视频分解:

ffmpeg处理视频音频的软件, opencv分解视频中实际上就使用了ffmpeg
ffmpeg作用: 文件格式 编解码 剪切 录制 提取 裁剪 复用

命令行
获取视频信息:

ffmpeg -i 1.mp4
视频信息如下:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 01:30:24.09, start: 0.000000, bitrate: 6595 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x1608, 6525 kb/s, 24 fps, 24 tbr, 90k tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 62 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

视频分解图片:

# 按序存储图片
ffmpeg -i 1.mp4 image%d.jpg

得到分解后的若干图片:


image.png
上一篇下一篇

猜你喜欢

热点阅读