python爬取微信公众号文章图片并转为PDF
更新时间:2022年02月08日 14:32:01 作者:三十岁开始学编程的大叔
大家好,本篇文章主要讲的是python爬取微信公众号文章图片并转为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微信公众号文章图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Mac下首次安装pycharm无project interpreter的问题
今天小编就为大家分享一篇解决Mac下首次安装pycharm无project interpreter的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10
最新评论