Python下载微信公众号文章和图片保存至本地

思路

获取到微信公众号的文章之后,使用 BeautifulSoup 和正则表达式 解析出文章标题和包含正文的html.

获取到html之后,用正则表达式获取图片下载链接,下载成功后将微信的链接替换成本地图片链接。

运行效果

在这里插入图片描述
在这里插入图片描述

代码

import requests
from re import findall
from bs4 import BeautifulSoup
import time
import osweixin_title=""
weixin_time=""#获取微信公众号内容,保存标题和时间
def get_weixin_html(url):global weixin_time,weixin_titleres=requests.get(url)soup=BeautifulSoup(res.text,"html.parser")#获取标题temp=soup.find('h1')weixin_title=temp.string.strip()#使用正则表达式获取时间result=findall(r'[0-9]{4}-[0-9]{2}-[0-9]{2}.+:[0-9]{2}',res.text)weixin_time=result[0]#获取正文html并修改content=soup.find(id='js_content')soup2=BeautifulSoup((str(content)),"html.parser")soup2.div['style']='visibility: visible;'html=str(soup2)pattern=r'http[s]?:\/\/[a-z.A-Z_0-9\/\?=-_-]+'result = findall(pattern, html)#将data-src修改为srcfor url in result:html=html.replace('data-src="'+url+'"','src="'+url+'"')return html#上传图片至服务器
def download_pic(content):pic_path='pic/'if not os.path.exists(pic_path):os.makedirs(pic_path)#使用正则表达式查找所有需要下载的图片链接pattern=r'http[s]?:\/\/[a-z.A-Z_0-9\/\?=-_-]+'pic_list = findall(pattern, content)for index, item in enumerate(pic_list,1):count=1flag=Truepic_url=str(item)while flag and count<=10:try:data=requests.get(pic_url);if pic_url.find('png')>0:file_name = str(index)+'.png'elif pic_url.find('gif')>0:file_name=str(index)+'.gif'else:file_name=str(index)+'.jpg'with open( pic_path + file_name,"wb") as f:f.write(data.content)#将图片链接替换为本地链接content = content.replace(pic_url, pic_path + file_name)flag = Falseprint('已下载第' + str(index) +'张图片.')count += 1time.sleep(1)except:count+=1time.sleep(1)if count>10:print("下载出错:",pic_url)return contentif __name__ == "__main__":#获取htmlinput_flag=Truewhile input_flag:weixin_url=input('请输入微信文章链接后按Enter:')re=findall(r'http[s]?:\/\/mp.weixin.qq.com\/s\/[0-9a-zA-Z_]+',weixin_url) if len(re)<=0:print("链接有误,请重新输入!")else:input_flag=Falsecontent=get_weixin_html(weixin_url)content=download_pic(content)#保存至本地with open(weixin_title+'.txt','w+',encoding="utf-8") as f:f.write(content) with open(weixin_title+'.html','w+',encoding="utf-8") as f:f.write(content)  print()print("标题:《"+weixin_title+"》")print("发布时间:"+weixin_time)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11253.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号消息推送教程

微信每日定时推送消息提醒&#xff0c;这样的技术男友谁不爱呢&#xff01; 欢迎专注微信公众号【凯小白学编程】 一、注册一个公众号 不多赘述&#xff0c;一般的程序员都会开一个自己的公众号来玩吧~ 二、启用测试账号 因为公众号模板消息推送是服务号才有的功能&#xff…

uniapp微信公众号h5生成图片下载

背景&#xff1a;最近接到一个需求要在微信公众号h5动态生成海报长按进行下载。在各个浏览器是没问题的。去到微信公众号h5就不行了&#xff0c;百撕不得骑jie。后面发现是微信内置浏览器限制的原因。 需求&#xff1a;根据链接动态生成二维码&#xff0c;再结合背景图等标签生…

下载微信公众号全部文章的方法

如何能将看到的非常葚欢的公号文章一网打尽&#xff1f;有将近十个号是学习个人成长&#xff0c;但是每个号都有几百篇历史文章&#xff0c;目己只能零星的看到就存到有道或印象笔记&#xff0c;但还是差的很远•很想找个方法突似程序之类的将这些文章都保存下来然后排版打印字…

微信公众号使用:查看和下载微信公众号的二维码

作为微信公众号的维护人员来说,不仅要知道微信公众号的基本功能,还要知道微信公平台的法律法规,发布文章的规则等常识。微信公众号申请成功之后,查看并下载微信公众号的二维码是比较常见的需求,而且添加微信公众号的时候不仅是通过搜索添加,也要通过直接扫描二维码识别添…

ChatGPT编程准确率暴降13%!UIUC南大新基准让AI代码现原形了

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 用ChatGPT写代码&#xff0c;已经是不少程序员的常规操作了。 △“至少提速3~5倍” 但你有没有想过&#xff0c;ChatGPT生成的代码&#xff0c;有不少只是“看起来准确”而已&#xff1f; 来自伊利诺伊大学香槟分校和南京大学的一项最新…

奇舞周刊第 487 期 可在控制流中调用!React 新 hook 尝鲜

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 可在控制流中调用&#xff01;React 新 hook 尝鲜 React 在之前的文档中提到了 Suspense for data fetching[1] 的理念&#xff0c;虽然在新的文档中下线了&#xff0c;但还是有相…

本周“AI圈”爆火的GPT神器:AutoGPT,了解一下

AutoGPT到底是什么&#xff1f;它是一个实验性的开源应用程序&#xff0c;展示了GPT-4语言模型的功能。该程序由GPT-4驱动&#xff0c;可以自主实现用户设定的任何目标。 AutoGPT能够根据用户需求&#xff0c;在用户完全不插手的情况下自主执行任务&#xff0c;包括日常的事件分…

360/腾讯/网易有道/CSDN版ChatGPT上线;看!AIGC艺术第一个场景落地北京;AI狂飙的时代,人还有价值吗 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 『周鸿祎演示360版ChatGPT』网友取名红孩儿&#xff0c;全程高能 在2023数字安全与发展高峰论坛上&#xff0c;360创始人周鸿祎带来了…

ChatGPT为什么会颠覆内容创作成本?

前言 随着科技的发展&#xff0c;人工智能&#xff08;AI&#xff09;已经成为一个热门话题&#xff0c;它的出现和发展已经给人们的生活带来了巨大的变化。其中&#xff0c;ChatGPT是一种有前途的AI技术&#xff0c;它可以帮助人们自动生成文本内容&#xff0c;从而降低内容创…

ChatGPT知多少?小白扫盲,通俗易懂

一、ChatGPT到底是什么&#xff1f; ChatGPT是由OpenAI 发布的自然语言模型&#xff0c;它的英文全称是“Chat Generative Pre-trained Transformer”&#xff0c;直译过来就是作为聊天使用的生成式预训练转换器。其中&#xff0c;Chat代表着使用方式&#xff0c;GPT是OpenAI …

ChatGPT 如何让测试变得更好?

基于AI的新型语言系统ChatGPT成为全网热议的话题。它在 2022 年 11 月发布后获得了惊人的关注度。它的用户数在短短五天内就达到了 100 万。因此&#xff0c;这个独特的系统可以为 IT 行业提供一些特殊的东西。 谈到IT行业&#xff0c;软件测试是ChatGPT有望蓬勃发展的核心点之…

让Bito帮你写Mokito单元测试

前言 现在稍微大一点的公司应该都有单测覆盖率要求&#xff0c;比如核心工程单测覆盖率95%以上&#xff0c;非核心工程90%以上。单测可以降低开发错误的反馈回路&#xff0c;减少重复工作&#xff0c;提升开发效率。但是写单测对于开发来说需要额外的时间。我们可以用TestMe、…

ChatGPT帮你改进工作和生活的10种用途!

最近火爆全网的ChatGPT是一款于2022年11月30日在美国发布的聊天机器人程序&#xff0c;它能够通过学习和理解人类的语言来进行对话&#xff0c;还能根据聊天的上下文进行互动&#xff0c;真正像人类一样来聊天交流&#xff0c;甚至能完成撰写邮件、视频脚本、文案、翻译、代码等…

【ChatGPT实战】4.使用ChatGPT帮你制作XMind

ChatGPT不仅可以用来回答各种问题&#xff0c;还能帮助我们轻松地制作出清晰的思维导图&#xff01;如果你像我一样曾经为制作XMind而感到头痛&#xff0c;那么现在就跟着我的教程一起来学习吧&#xff01; 在本篇教程中&#xff0c;我们将学会使用ChatGPT来帮助我们制作XMind…

用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?

以下是我向GPT提问后的结果&#xff1a; 能提供一个森林生物量估算的GEE脚本吗&#xff1f; 我可以提供一个基本的森林生物量估算脚本&#xff0c;请使用Google Earth Engine (GEE) 平台。 这是一个简单的森林生物量估算脚本&#xff0c;请根据自己的需求进行修改。如果有其他…

了解趋势 | 元宇宙、虚拟空间、人工智能、Web3…全球49位专家对2023最火爆科技的预测

编者按&#xff1a; 2022 年对科技行业来说是非常热闹的一年。 我们关注着埃隆马斯克&#xff08;Elon Musk&#xff09;的大戏&#xff0c;惊叹于生成式人工智能的创造&#xff0c;目睹了加密市场暴跌和 FTX 崩溃&#xff0c;深深凝视着元宇宙…… 2023 年最火爆的科技趋势…

丰田汽车投资人要求董事长下台

&#x1f699; 丰田电动车推广不力&#xff0c;股东要求董事长下台 Toyota faced down two proxy votes at its annual general meeting. In an unusual challenge to the management of a Japanese company, activist investors in America and Europe recommended voting aga…

新春伊始:从CHAT-GPT到生成式AI,人工智能新范式

2023的新春伊始&#xff0c;每个人都希望在新的这一年&#xff0c;会有更多更好的事情发生。回头看去已然过去的2022年&#xff0c;科技界充满波折与机遇&#xff0c;似乎在等待一场革命性的变革。近期人工智能研究公司OpenAI推出的聊天机器人模型CHAT-GPT不断出圈&#xff0c;…

5月无代码资讯 | 新加坡开发巨头Proteus-DT开创无代码战略;Gluware 在 2023 年美国商业奖中获得三项史蒂夫奖;Appy Pie 将人工智能添加到其无代码网站构建器平台

栏目导读&#xff1a;无代码资讯栏目从全球视角出发&#xff0c;带您了解无代码相关最新资讯。 Top3大事件 1、新加坡创立的开发巨头Proteus-DT开创了无代码战略&#xff0c;为企业改变应用程序&#xff0c;Web和系统开发 5月19日&#xff0c;Proteus-DT 宣布他们正在通过创新…

强的离谱!别玩啥Bing了!我把Google和ChatGPT4合二为一!

我们的专栏群已经有300多位小伙伴&#xff0c;很多同学都是小白用户&#xff0c;在我们的帮助下迅速掌握了如何使用GPT, 不然光注册就要卡好久&#xff01;我们早起的青铜群&#xff0c;已经帮助了200多位同学成功升级到plus, 大家都跑步进场&#xff01; 群里有一个同学一直要…