python将网页上的教程爬取下来存成pdf

首先:

pip install webpage2pdf

pip install pypdf2

如果没有安装pyqt5,则需要安装pyqt5,高本版或报错,可以装早些的版本

pip install PyQt5==5.9.2

 

将所有网站的地址逐行存到文本文件1.txt中

编写脚本和1.txt放到同一个空文件夹下

from webpage2pdf import RenderManager

 

if __name__=='__main__':

    rm=RenderManager()

    rm.addRender(6,showUI=False) #启用六个进程

file=open('1.txt','r')

counter=0

    for line in file:

     rm.from_url(line[:-1],str(counter)+’.pdf’)

    file.close()

rm.waitFinish()

运行脚本等待所有任务完成,这里开6个进程爬取了61个网页,用时不到5分钟

 

得到所有的pdf后在该文件夹下在建一个脚本将所有pdf合并

from PyPDF2 import PdfFileWriter,PdfFileReader

 

inStreamList=[]

#输入流要在pdfWriter将数据写入到输出流才能关闭

#先键所有输入流放入列表,最后统一关闭

pdfWriter=PdfFileWriter()

counter=61 #得到的pdf的数量

for i in range(counter):

    inStream=open(str(i)+’.pdf’,’rb’)

    pdfReader=PdfFileReader(inStream)

    pdfWriter.appendPagesFromReader(pdfReader)

    inStreamList.append(inStream)

outStream=open('out.pdf','wb')

pdfWriter.write(outStream)

outStream.close()

for stream in inStreamList:

    stream.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值