广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬取微信公众号文章图片并转为PDF
  • 491
分享到

python爬取微信公众号文章图片并转为PDF

2024-04-02 19:04:59 491人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

遇到那种有很多图的微信公众号文章咋办?一个一个存很麻烦,应朋友的要求自己写了个爬虫。2.0版本完成了!完善了生成pdf的功能,可根据图片比例自动调节大小,防止超出页面范围,增加了序号

遇到那种有很多图的微信公众号文章咋办?一个一个存很麻烦,应朋友的要求自己写了个爬虫
2.0版本完成了!完善了生成pdf的功能,可根据图片比例自动调节大小,防止超出页面范围,增加了序号方面查看

#-----------------settings---------------
#url='https://mp.weixin.qq.com/s/8JwB_SXQ-80uwQ9L97BMgw'
print('jd3096 for king 2.0 VIP8钻石永久会员版')
print('愿你远离流氓软件每一天')
url=input('请输入网址:')
#-----------------get data----------------
import requests
import re
from bs4 import BeautifulSoup
import os
from PIL import Image

try:
    os.makedirs('pics')
except:
    pass

os.chdir('pics')

page=requests.get(url).text
soup = BeautifulSoup(page, 'html.parser')
jdata = soup.find_all('img')
pn=0
for i in jdata:
    try:
        src=i['data-src']
        print(src)
        rp = requests.get(src)
        with open(str(pn)+'.jpg','wb+')as f : # 循环写入图片
            print(str(pn)+'.jpg')
            f.write(rp.content)
        pn+=1
    except:
        pass
#--------------------make pdf--------------------
from fpdf import FPDF
import os
path=os.getcwd()
print(path)
pdf = FPDF()
pdf.set_auto_page_break(1)
imagelist = [i for i in os.listdir()]
imagelist.sort(key=lambda x: int(x.split('.')[0]))
print(imagelist)
for image in imagelist:
    try:
        img = Image.open(image)
        w = img.width       #图片的宽
        h = img.height      #图片的高
        ii=h/w
        print(ii)
        if ii>1.41:
            ww=int(250/ii)
            pdf.add_page()
            pdf.set_xy(0,0)
            pdf.set_font('arial','B',14)
            pdf.cell(60)
            pdf.cell(70,10,image,border=0, ln=1, align='C')
            pdf.image(os.path.join(path, image), w=ww, h=250)
        else:
            hh=int(180*ii)
            pdf.add_page()
            pdf.set_xy(0,0)
            pdf.set_font('arial','B',14)
            pdf.cell(60)
            pdf.cell(70,10,image,border=0, ln=1, align='C')
            pdf.image(os.path.join(path, image), w=180, h=hh)
    except:
        pass

pdf.output(os.path.join(path, "merge.pdf"), "F")


爬完了长这样:

在这里插入图片描述

PDF长这样,比例适中适合阅读

在这里插入图片描述

到此这篇关于python爬取微信公众号文章图片并转为PDF的文章就介绍到这了,更多相关Python微信公众号文章图片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python爬取微信公众号文章图片并转为PDF

本文链接: https://www.lsjlt.com/news/138430.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python爬取微信公众号文章图片并转为PDF
    遇到那种有很多图的微信公众号文章咋办?一个一个存很麻烦,应朋友的要求自己写了个爬虫。2.0版本完成了!完善了生成pdf的功能,可根据图片比例自动调节大小,防止超出页面范围,增加了序号...
    99+
    2022-11-13
  • python如何实现微信公众号文章爬取
    小编给大家分享一下python如何实现微信公众号文章爬取,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体步骤如下:一、安装代理服务器目前使用的是Anyproxy...
    99+
    2023-06-19
  • Python爬取csnd文章并转为PDF文件
    目录1.导入模块2.创建文件夹3.发送请求4.数据解析5.如果把列表里面每一个元素 都提取出来6.替换特殊字符7.转换成PDF文件本篇文章流程(爬虫基本思路): 数据来源分析 (只有...
    99+
    2022-11-12
  • Python怎么爬取csnd文章并转为PDF文件
    今天就跟大家聊聊有关Python怎么爬取csnd文章并转为PDF文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.导入模块import requests #&...
    99+
    2023-06-22
  • c# 基于Titanium爬取微信公众号历史文章列表
    目录什么是Titanium原理简述对于HTTP对于HTTPS为什么要爬取历史文章实现步骤大致思路核心代码测试结果github:https://github.com/justcodin...
    99+
    2022-11-11
  • Python实现快速保存微信公众号文章中的图片
    目录一、实现效果(以槿泉壁纸为例)二、实现过程三、源码四、Python正则表达式匹配日期与时间一、实现效果(以槿泉壁纸为例) 二、实现过程 1.新建一个link文本,将需要下...
    99+
    2022-11-11
  • Python怎么实现快速保存微信公众号文章中的图片
    本文小编为大家详细介绍“Python怎么实现快速保存微信公众号文章中的图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现快速保存微信公众号文章中的图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-02
  • 怎么用python自动获取微信公众号最新文章
    本篇内容介绍了“怎么用python自动获取微信公众号最新文章”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!微信公众号获取思路常用的微信公众号...
    99+
    2023-07-02
  • python自动获取微信公众号最新文章的实现代码
    目录微信公众号获取思路采集实例微信公众号获取思路 常用的微信公众号文章获取方法有搜狐、微信公众号主页获取和api接口等多个方法。听说搜狐最近不怎么好用了,之前用的api接口也频繁维护...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作