Python [爬虫应用] 抖音去水印

81—1 · 2019年04月11日 · 最后由 Li_hugo 回复于 2020年02月09日 · 2551 次阅读

痛点

抖音上有很多有意思的视频,常想用来做屏保或者下载保存。但从抖音中操作的视频会有个很 low 的水印。
IMG_2223.PNG

思考

分析了抖音视频链接的请求流程,大致分为以下几步:

  • 1.用 PC 标示请求抖音分享链接,获取重定向的 PChtml 页面
  • 2.分析页面 html 预览链接,获取播放链接
  • 3.根据播放链接,获取重定向的无水印视频链接,下载并保存

核心代码

def getRewirte(url):
  headers = {
    'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
  }
  res = requests.get(url,headers=headers,allow_redirects=False)
  locationUrl = res.headers['location']
  return locationUrl

def downvideo(id,url,now):
  headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1'
  }
  res = requests.get(url,verify=False,headers=headers)
  with open(now+'/html.txt','wb') as f:
    f.write(res.content)
  new_file = open(now+'/html.txt')
  data = new_file.readlines()
  new_file.close()
  for line in data:
    if 'playAddr:' in line:
      playurl = re.findall(r'playAddr:(.+?)\,', line)[0]
      playurl = playurl.replace('playwm', 'play')
      playurl = playurl.replace("\"", "")
      postHeaders = {
        'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
      }
      locationResponse = requests.get(playurl,verify=False,headers=postHeaders,allow_redirects=False)
      locationUrl = locationResponse.headers['location']
      videoRes = requests.get(locationUrl,headers=headers,verify=False)
      try:
        with open(now+'/video.mp4', 'wb') as f:
          f.write(videoRes.content)
          f.flush()
        setTaskStatus(id,'3',(now+'/video.mp4').replace('app/',''))
        print("下载完成!!!!")
      except:
        setTaskStatus(id, '4', '')
        print("下载失败!!!!")

开干

根据以上步骤,我们可以完成核心的爬虫脚本了。
但每次都要把手机的分享链接搞到电脑上,再去运行脚本,未免太费劲了。
考虑到一切都是手机上的操作,最终的视频也是手机看,我决定用微信小程序来完成我的工具设计。
大致的架构设计如下:
dqy.png

结果

小程序已经上架,可以愉快的玩耍了,需要可以微信扫码使用。
使用:

方法 1

IMG_2205.JPG

方法 2

TM20190411093939.png

点击 “下它”,会弹出权限提醒,允许后就可下载保存到相册了哦。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

要是能保存就好了

点击 “下它” 就是保存到本地相册哦

这个网站可以用啊: http://douyin.shulijp.com


无法显示图片吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册