爬取图片保存为pdf

embedded/2024/10/18 15:19:18/
   本文章想借着爬虫给大家介绍一下图片转pdf,有需要的友友们可以看看参考参考,有帮助到友友的可以收藏+关注。下面以爬取初中7年级数学上册为例给大家演示一下。网址是这个    https://mp.weixin.qq.com/s?__biz=MzAxOTE4NjI1Mw==&mid=2650214000&idx=6&sn=2e627183fc9376a2f09f29fb84d912b8&chksm=83c97952b4bef04499f9797b0b01daa54b46d00ef9958c1e521da0a29f41559c99aefe96f157&scene=27

1 导入包

import requests
from lxml import html,etree
from bs4 import BeautifulSoup
import re
import pandas as pd
from PIL import Image
from io import BytesIO
import os
from PyPDF2 import PdfFileMerger, PdfFileReader
import PyPDF2

2 爬取目标url获取有用照片url

### 1 解析网页获取可用数据
URL = 'https://mp.weixin.qq.com/s?__biz=MzAxOTE4NjI1Mw==&mid=2650214000&idx=6&sn=2e627183fc9376a2f09f29fb84d912b8&chksm=83c97952b4bef04499f9797b0b01daa54b46d00ef9958c1e521da0a29f41559c99aefe96f157&scene=27'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
respons = requests.get(url =URL,headers= headers)
respons.encoding='utf-8'
respons = respons.text
soup = BeautifulSoup(respons,'lxml')
# 使用正则表达式查找所有https开头的URL
urls = re.findall(r'https://\S+', str(soup))
book_url = []
# 打印找到的URL
for url in urls:if len(url)> 139:# print(url)book_url.append(url)else:None

3 爬取url对应的照片

for index,url_ in enumerate(book_url):image_filename = r'E:/学习/7年级上册数学/{}.jpeg'.format(index)response = requests.get(url_)if response.status_code == 200:with open(image_filename, 'wb') as file:file.write(response.content)print(f'图片已保存到 {image_filename}')else:print(f'下载失败,状态码: {response.status_code}')

爬到照片:
在这里插入图片描述

pdf_54">4 图片转化为pdf并且合并

### 3将图片转化为pdf
folder_path = r'E:/学习/7年级上册数学'
# 创建一个列表来存储每张图片转换成的PDF文件的路径
pdf_files = []
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):file_path = os.path.join(folder_path, filename)img = Image.open(file_path)# 转换图片为PDF文件,这里假设每张图片保存为一个单独的PDFpdf_file_path = f'{folder_path}/temp_{filename.rsplit(".", 1)[0]}.pdf'img.save(pdf_file_path, "PDF")pdf_files.append(pdf_file_path)
if pdf_files:merger = PyPDF2.PdfWriter()for pdf in pdf_files:merger.append(pdf)output_pdf_filename = os.path.join(folder_path, '7年级上册数学.pdf')with open(output_pdf_filename, 'wb') as fout:merger.write(fout)print(f"PDFs merged into {output_pdf_filename}")
else:print("No images were found in the specified folder.")

结果如下图:
在这里插入图片描述


http://www.ppmy.cn/embedded/105491.html

相关文章

20240903软考架构-------软考111-115答案解析

每日打卡题111-115答案 111、【2016年真题】 难度:一般 实时操作系统(RTOS)内核与应用程序之间的接口称为( )。 A.I/O接口 B.PCI C.API D.GUI 答案&#xff…

浅析SVG无功补偿器在新能源发电中的应用

引言 随着新能源技术的不断进步,光伏发电已经崛起为未来能源发展的一个关键领域,各地纷纷建立起越来越多的光伏电站。然而,光伏发电领域仍面临诸多挑战,包括电网电压不稳定、发电过剩以及电压波动等问题。在这样的背景下&#xf…

深度学习-OpenCv的运用(4)

文章目录 一、图像形态学二、图像形态学的基本概念三、形态学操作的主要类型四、代码实现1.图像腐蚀2.图像膨胀3.开运算-先腐蚀后膨胀4.闭运算-先膨胀后腐蚀5.梯度运算6.顶帽与黑帽 五、总结 一、图像形态学 图像形态学是数学中研究形状、结构和变换的一个分支,在图…

docker pull命令拉取镜像失败的解决方案

docker pull命令拉取镜像失败的解决方案 一、执行docker pull命令,拉取镜像失败 报错信息:error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/51/5107333e08a87b836d48f…

疑似女友通过社交媒体泄露其本人位置数据,导致了杜罗夫的被捕?

以下引用百度百科: 帕维尔杜罗夫(俄文:Павел Дуров,英文:Pavel Durov),男,1984年10月10日出生于俄罗斯列宁格勒州(今圣彼得堡市),毕业…

025集—— 转义字符\、字符串详解(对比、分割、日期、数字等)——C#学习笔记

本文讲解字符串的比较:忽略大小写与不忽略大小写,内存地址是否相同。 当需要对两个字符串的值进行比较和排序而不需要考虑语言惯例时,请使用基本的序号比较。基本的序号比较 (Ordinal) 是区分大小写的,这意味着两个字符串的字符必…

Storm AI : 最佳长文写作工具

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 正如Storm其名,这场风暴已经在欧美学术圈开始刮起来了。想象一下,当你准备写一篇论文或者一部长篇报告时,只需要告诉Storm你的写作主题是什么,它就能自动帮你全网深挖资料和收集多维度的参考信息,…

SD卡数据恢复:找回珍贵记忆的四大工具推荐!

在数字化时代,SD卡作为便携式存储设备的重要一员,被广泛应用于数码相机、手机、平板电脑等多种设备中。当SD卡上的数据意外丢失时,一款高效的数据恢复软件就显得尤为重要了。今天,我们将给大家介绍几款在市场上口碑良好且功能强大…