python爬取微信公众号图片并生成word文档 您所在的位置:网站首页 怎么复制公众号文章到word python爬取微信公众号图片并生成word文档

python爬取微信公众号图片并生成word文档

2024-07-07 02:35| 来源: 网络整理| 查看: 265

python爬取微信公众号图片并生成word文档

       由于微信公众号中,有些推文是以图片的形式推送,若想提取图片,需要先下载下来。如果图片数量多,就需要更多的时间,降低效率。因此写下此代码,可以将推文图片提取并插入word中生成文档,以提高提取效率。  

一、代码 # -*- coding = utf-8 -*- # @Time : 2021/7/10 21:07 # @Author : 陈良兴 # @File : python爬取微信公众号图片并生成word.py # @Software : PyCharm import requests from bs4 import BeautifulSoup import datetime import os from docx import Document # 导入docx包 from docx.shared import Cm # 设置页面边距 # 获取微信公众号图片 def get_picture(url): headers = { 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } # 获取系统时间 curr_time = datetime.datetime.now() # 将时间格式化为字符生成时间戳到时候给文件夹命名用 path = datetime.datetime.strftime(curr_time, '%Y%m%d%H%M') # 检查是否存在这个文件夹 if os.path.exists(path): print("属于这个时间点的文件夹已经创建好") else: # 不存在则创建 os.mkdir(path) print("创建成功!!!!正在保存图片") # 获取当前工作目录并加上之前的时间生成文件夹路径 dirname = os.getcwd() + '\\' + path + '\\' # 向刚才输入的公众号链接里面发送请求 req = requests.get(url=url, headers=headers).content.decode() # 用BeautifulSoup解析网页 soup = BeautifulSoup(req, 'lxml') res = soup.select('img') # 获取该网页中所有的图片标签 a = 0 # 遍历所有的图片标签 for i in res: if i.get("data-src") == None: # 如果这个标签内的data-src等于空的时候直接跳过 pass else: # 否则获取data-src里面的内容获取图片链接 print(f'链接:{i.get("data-src")}类型为:{i.get("data-type")}') # 尝试去保存图片 如果保存图片错误则抛出异常 try: # 拼接路径+a.jpg a是等于数字 每添加一个 a自增一 相当于是给图片命名 并且以二进制的形式写入 with open(dirname + f'{a}.{i.get("data-type")}', 'wb') as f: # 向这个图片发送请求 并将图片的二进制写入 f.write(requests.get(url=i.get("data-src"), headers=headers).content) f.close() # 关闭写入 a = a + 1 # a自增一 except Exception as e: # 抛出异常 增加程序强壮性 print("该链接为空自动跳过!") print(f"此次一共成功保存图片{a}张") # 生成word文档 def Generate_word(): Doc = Document() # 设置页面边距 sec = Doc.sections[0] # sections对应文档中的“节” sec.left_margin = Cm(0) # 以下依次设置左、右、上、下页面边距 sec.right_margin = Cm(0) sec.top_margin = Cm(0) sec.bottom_margin = Cm(0) # 插入图片 for i in range(1, 128): Doc.add_picture(r'G:\python_demo\python爬取微信公众号图片\202107102104\{}.png'.format(i), width=Cm(21.88), height=Cm(29)) # Cm是厘米 i += 1 Doc.save(r'./二年级语文(上册).docx') if __name__ == '__main__': url = input("请输入url:") get_picture(url) print("Saving......") Generate_word() print("文档创建成功!")

 

二、实例

1、复制公众号推文链接: 2020部编版二年级语文上册电子课本【提前预习】。 在这里插入图片描述 2、运行程序,在交互窗口输入推文链接,运行。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有