#!/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()