首先:
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()