发某音链接微信自动回复无水印视频下载链接

 python有趣小项目

需要的库:

  1. itchat
  2. requests
  3. re

项目步骤:

  1. 获取某音的链接
  2. 用reqests.get()函数获取链接的网页内容并返回
  3. 用re正则表达式提取网页当中的视频链接
  4. 发现某音视频链接当中/playwm/为有水印视频,而/play/为无水印视频
  5. 去掉链接当中的‘wm’,并返回去掉后的网址
  6. itchat接收网址并发送链接给微信好友
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/8/31 16:03
# @Author  : Cxk


import itchat
from itchat.content import *
import requests
import re

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36'}
def win_html_data(html_url):
    """
    爬取整个网页内容
    :param html_url:
    :return:
    """
    response = requests.get(html_url, headers=headers)
    response.encoding = 'utf-8'
#     获取网页内容并返回整个网页
    html_content = response.text
    return html_content

def get_vido_url(html_datas):
#     提取视频连接
    video_player_url = re.findall('playAddr: "(.*?)"',html_datas)[0]
#     将playwm中的wm除去变成无水印视频连接 水印:watermark
    video_url = video_player_url.replace('wm','')
#     返回处理后的无水印视频下载连接
    
    return video_url
 
def get_url(chuli_url):
#     接收抖音复制下来的连接并处理掉无用的字,提取出视频连接
    pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')

    url = re.findall(pattern,chuli_url)
    
    html_url=''
#     将提取出的视频连接转为字符串
    for i in url:  
        html_url = i
# 访问连接并获取到网页内容
    html_datas =win_html_data(html_url)
#     从网页内容中提取视频无水印连接并返回
    video_url=get_vido_url(html_datas)
    
    return video_url
    
    
@itchat.msg_register('Text')
def text_reply(msg):
    """类似qq上的自动回复"""
    if not msg['FromUserName']==myUserName:
        return get_url(msg['Text'])
if __name__=='__main__':
    itchat.auto_login(hotReload=True)
    myUserName=itchat.get_friends(update=True)[0]["UserName"]
    itchat.run()
    

成果截图:

发布了21 篇原创文章 · 获赞 14 · 访问量 4111

猜你喜欢

转载自blog.csdn.net/Cxk___/article/details/100185295
今日推荐