hanson1025 发表于 2022-2-17 15:37

下载公众号视频(非三方接口)更新

本帖最后由 hanson1025 于 2022-3-3 12:14 编辑

看到坛友一个帖子,用的硕鼠接口下载的,今天抓了一下包,发现不需要接口可以直接下载,居然还支持高清下载哦。文章中链接的腾讯视频内容无法解析,文章中链接的腾讯视频内容无法解析,文章中链接的腾讯视频内容无法解析
尝试添加了文本输入框,针对部分图文VID格式不同做了修改,加入解析完成后复制到剪辑版,并弹出成功的messagebox,未解析出来也加入了失败的messagebox
用到了模块requets,re,win32clipboard,wxpyton

import requests,re,win32clipboard,wx

def get_videosite(site):
    url = site
    video_url = 'https://mp.weixin.qq.com/mp/videoplayer?action=get_mp_video_play_url&preview=0&__biz=--biz--&mid=--mid--&idx=1&vid=--vid--&uin=&key=&pass_ticket=&wxtoken=777&devicetype=&clientversion=&appmsg_token=&x5=0&f=json'
    result = requests.get(url).text
    biz = re.search(r'__biz=(.*?)&',result).replace('__biz=','').replace('&','')
    mid = re.search(r'mid=(.*?)&',result).replace('mid=','').replace('&','')
    try:
      vid = re.search(r'wxv_(.*?)\'',result).replace('\'','')
      if len(vid) != 23:
            vid = re.search(r'wxv_(.*?)\"',result).replace('\"','')
      video_json = requests.get(video_url.replace('--biz--',biz).replace('--mid--',mid).replace('--vid--',vid)).json()['url_info']['url']
      win32clipboard.OpenClipboard()
      win32clipboard.EmptyClipboard()
      win32clipboard.SetClipboardText(video_json)
      win32clipboard.CloseClipboard()
      result_dialog = wx.MessageDialog(None,'已解析视频地址并复制到剪辑版','消息框',wx.YES_DEFAULT)
      if result_dialog.ShowModal() == wx.ID_YES:
            result_dialog.Destroy()
    except:
      result_dialog = wx.MessageDialog(None,'没有找到视频','消息框',wx.YES_DEFAULT)
      if result_dialog.ShowModal() == wx.ID_YES:
            result_dialog.Destroy()      
    exit()

app = wx.App()
box = wx.TextEntryDialog(None,'请输入公众号文章链接','网址输入窗口')
if box.ShowModal()==wx.ID_OK:
    get_videosite(box.GetValue())
app.MainLoop()

hanson1025 发表于 2022-2-18 14:32

szxizhijiang 发表于 2022-2-17 20:04
其实楼主的短地址是这样的来的,我个人实践:

在微信中在原文章或是电脑端的连接 ,然后手机上分享-复制 ...

没有你想的那么复杂,用电脑的微信,点击你要下载视频的文章,然后点击图2的用默认浏览器打开,打开后网址就出来了。

吾道一以贯之 发表于 2022-2-18 08:39

问下,试了一下,提示没有这个'requests'的module,需要怎么做啊?
Traceback (most recent call last):
File "D:/common-software/pycharm/PycharmProjects/chap8/抓取公众号视频下载.py", line 3, in <module>
    import requests, re, json
ModuleNotFoundError: No module named 'requests'

sunning-H-C 发表于 2022-2-17 16:20

url = 'https://mp.weixin.qq.com/s/3G1psKG6K6mgbBvYkCrkeA'
只需要把这一行替换链接就行了是吗

xnliuling 发表于 2022-2-17 16:29

这是高手啊

hanson1025 发表于 2022-2-17 16:39

sunning-H-C 发表于 2022-2-17 16:20
只 ...

是的。这个地方替换成公众号网址就行啦

YR0207 发表于 2022-2-17 16:40

就很厉害

紫氣東來 发表于 2022-2-17 16:52

小白求问,该代码具体怎么用?

hanson1025 发表于 2022-2-17 16:56

紫氣東來 发表于 2022-2-17 16:52
小白求问,该代码具体怎么用?

电脑端点开公众号的图文,然后用浏览器打开,复制网址替换掉代码中url=''这里的网址,然后运行就行啦

yaben 发表于 2022-2-17 18:31

高手谢谢分享

侃遍天下无二人 发表于 2022-2-17 18:59

微信视频确实链接格式相对固定,比较好搞,腾讯视频就很麻烦了,不过可以尝试获取播放地址调用annie下载

cbkxh 发表于 2022-2-17 19:46

谢谢分享,我来试试
页: [1] 2 3
查看完整版本: 下载公众号视频(非三方接口)更新