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

 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()
    

 

成果截图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能视界探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值