def downloadBook(request): ''' 下载书籍 :param request: :return: ''' # 存放数据提交内容 ctx = {} bookID = request.GET.get('id') dbC = dbc('bookwarehouse') path = "" def get(): ''' 子线程用于下载小说 ''' nonlocal path path = dbC.getBook(bookID) ctx['path'] = path response = FileResponse(path) response['Content-Type'] = 'application/octet-stream' response[ 'Content-Disposition'] = 'attachment;filename="example.tar.gz"' book_thread = threading.Thread(target=get) book_thread.start() return render(request, 'SUCCESS.html', ctx)
def __init__(self): self.downloader = aszwDownloader.Downloader() self.parser = aszwParser.Parser() # cookie库 self.cookies = dbController.dbc('bookwarehouse').getCookies() # 代理库 self.proxies = proxies.get_proxy('http://www.xicidaili.com/nn/', {'User-agent': 'Mr.Zhang'})
def testInsertBook(): chapters=[{'chapter_name':'第一章','chapter_url':'https://www.23zw.me/olread/68/68913/c10f9c35044ae520694a837c12ecf81e.html'}, {'chapter_name':'第二章','chapter_url':'https://www.23zw.me/olread/68/68913/6e872de41acaf237553a93d84b7d4edb.html'}] book={} book['name']="第一本书" book['category']='默认' book['auth']='张杰' book['create_date']='' book['wordage']=660000 book['book_url']='http://www.23zw.me/olread/68/68913/' book['chapters']=chapters dbC= dbController.dbc('bookwarehouse') dbC.insetBook(book)
def searchBookAction(request): ''' 处理搜索书目的表单 :param request: :return: ''' # 存放数据提交内容 ctx = {} # 若表单内容存在 if request.POST: # 获取书名搜索内容 ctx['book_name'] = request.POST.get('book_name', False) # 查询书名匹配列表 dbC = dbc('bookwarehouse') books = dbC.searchBookKey(ctx['book_name']) ctx['books'] = books return render(request, 'dlBook.html', ctx) return render(request, 'dlBook.html')
def downloadBookNew(request): ''' 下载书籍 :param request: :return: ''' # 获取请求下载书籍的id bookID = request.GET.get('id') dbC = dbc('bookwarehouse') path, file_name = dbC.getBookContext(bookID) # response = StreamingHttpResponse(file_iterator(path)) # response['Content-Type'] = 'application/octet-stream' # # 中文名需如此操作才可正常在客户端显示 # response['Content-Disposition'] = "attachment; filename*=utf-8''{}".format(escape_uri_path(file_name)) from django.http import HttpResponseRedirect dict = {} dict['file_path'] = '/static/book/' + file_name dict['file_name'] = file_name return render(request, 'SUCCESS.html', dict)
def __init__(self): self.downloader = aszwDownloader.Downloader() self.parser = aszwParser.Parser() self.cookies = dbController.dbc('bookwarehouse').getCookies()
def testWordCount(): dbC = dbController.dbc('bookwarehouse') dbC.wordCount()
def testInitDatabaseContext(): dbC = dbController.dbc('bookwarehouse') dbC.initDatebaseContext()
def testGetBook(): start=time.time() dbC = dbController.dbc('bookwarehouse') dbC.getBook(18) print('耗时:',time.time()-start)
def testGetCookies(): dbC = dbController.dbc('bookwarehouse') for cookie in dbC.getCookies(): print(cookie)
def testInitCookies(): dbC = dbController.dbc('bookwarehouse') dbC.initCookies()
def testAddAccount(): dbC=dbController.dbc('bookwarehouse') dbC.addAccount({'name':'sujie1997','password':'******','source':1})