本教程不需要注册便可以下载旧版“科学文库”中的全本书籍(http://159.226.29.161/shop/book/Booksimple/list.do),差不多18年以前出版的都可以下,具体情况请自行测试。
该方法下载的书籍为图片格式,可看清文字但清晰度一般,且无法进一步编辑,仅用于查看浏览。望大家支持正版。
1. 下载方法
以《中国乡村社区空间论》一书为例,书的地址是:
经过分析,原始图片的地址是:
比如,刚才说的这本书只能预览前30页,但是根据这个方法,可以直接打开第100页的原始图片:
通过python批量下载,一次性下载一本书,再制作为pdf。
2. 利用python根据网址批量下载图片
页码、url、path根据实际情况替换即可
1 2 3 4 5 6 7 | import urllib i = 1 while i <= 404: url = "http://159.226.29.160/knReader/request/TebReadHandler.ashx?b=B4C8E74F2DFDB297FE053010B0A0A4FBC000&p=&page="+str(i) path = "D://Deskstop//666//"+str(i)+".png" urllib.request.urlretrieve(url,path) i = i+1 |
3. 合并图片生成PDF文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from reportlab.lib.pagesizes import A4, portrait, landscape from reportlab.pdfgen import canvas def convert_images_to_pdf(img_path, pdf_path): pages = 0 (w, h) = portrait(A4) c = canvas.Canvas(pdf_path, pagesize = portrait(A4)) l = os.listdir(img_path) l.sort(key= lambda x:int(x[:-4])) for i in l: f = img_path + os.sep + str(i) c.drawImage(f, 0, 0, w, h) c.showPage() pages = pages + 1 c.save() if __name__ == "__main__": img_path = "D://Deskstop//666" pdf_path = "D://Deskstop//666//aa.pdf" convert_images_to_pdf(img_path, pdf_path) |
参考资料:
网友:wudunxu
使用Python合并图片生成PDF文件__曾静的博客