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()

你可能感兴趣的:(python将网页上的教程爬取下来存成pdf)