前几天找本很老的书,纸质书只有图书馆有,电子版要么上淘宝买要么到论坛上灌水刷金币买。好不容易找到一个网站可以在线看,但只能单页保存,GF帮忙点了好久才下了几十页。于是就想试着写个脚本批量下载。
一个高手看起来巨简单的的程序,我在官网上看了N久的库文献加上N多google代码片段,断断续续写了3天才出来,不过总算稍微入点门了⋯⋯
代码如下,看那一堆注释就知道每一步我都要调试几遍才能过去。最后组合单页pdf,去水印本来也想直接完成的,但mac终端下没有现成的程序,准备手动用Acrobat完成了。
因为我没有看几页《A byte of Python》就开始写了,只是想完成需求就好了,所以写得肯定有好多不正规的地方。请大家帮忙指点一下,哪些地方可以改进或是写得更正规一点?
谢谢啦!
#下载西山电子书
import urllib.request
import re
import os
#循环 次数=书页数
for i in range(1, 231):
#get pdf所在网页
fileHandle = urllib.request.urlopen('
http://www.bjmem.com/bjm/bjwh/include/showpdf.jsp?bookId=5259&xuhao=' + str(i) + '&pdfuri=/bjm/bjwh/zrdl/200711/')
#打开网页文件搜索SRC一行,读取pdf网址
pagesrc = str(fileHandle.read(), 'utf-8')
fileHandle.close()
# print (pagesrc)
posbegin = re.search('PARAM NAME="SRC" VALUE=', pagesrc)
# print (posbegin.end())
#original = re.compile(pagesrc)
#print (original)
posend = re.search('.pdf', pagesrc)
# print (posend.end())
# print (pagesrc[posbegin.end():posend.end()])
pdfaddress = '
http://www.bjmem.com/' + pagesrc[posbegin.end():posend.end()]
# print (pdfaddress)
#wget下载pdf,并按页码命名
cmd = 'wget -c ' + pdfaddress + ' -O bjxs' + str(i) + '.pdf'
os.system (cmd)
#print (url)
#用工具组合pdf为一个文件
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/45109
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.