def getComicInfo(request): infourl=request.GET.get('infourl',None) comicid=request.GET.get('comicid',None) spider = spiderfactory.getSpider(infourl) chapters=spider.getChapters(infourl) comic=Comic.comicManager.get_queryset().filter(pk=int(comicid)).get() return render(request,'comic/comicInfo.html',{'chapters':chapters,'comic':comic,})
def preChapter(request): infoUrl = request.GET.get('infoUrl', None) chapterUrl = request.GET.get('chapterUrl', None) comicname = request.GET.get('comicname', None) comicid = request.GET.get('comicid', None) spider= spiderfactory.getSpider(infoUrl) chapters=spider.getChapters(infoUrl) # print chapters preUrl=chapters[0].get('chapterUrl') title = chapters[0].get('title') for i in range(1,len(chapters)): if chapterUrl==chapters[i].get('chapterUrl'): preUrl = chapters[i - 1].get('chapterUrl') title = chapters[i - 1].get('title') break content = spider.getImgRealPath(preUrl) context = {"content": content, 'len': len(content), 'chaptername': title, 'comicname': comicname, 'infoUrl': infoUrl, 'chapterUrl': preUrl, 'comicid': comicid, } return render(request, 'comic/chapterContent.html', context)
def index(request): spider= spiderfactory.getSpider('https://163.bilibili.com') recommends=spider.getRecommend() comicManager=Comic.comicManager for recommend in recommends: print recommend['url'] # recommend['comicid']=comicManager.get(Q(comic_url=recommend['url'])).id comiclist=comicManager.filter(Q(comic_url=recommend['url'])) if(len(comiclist)==0): recommend['comicid']=0 else: recommend['comicid'] = comiclist[0].id type1=comicManager.getType1()[0:3] type2=comicManager.getType2()[0:3] type3=comicManager.getType3()[0:3] type4=comicManager.getType4()[0:3] type5=comicManager.getType5()[0:3] type6=comicManager.getType6()[0:3] type7=comicManager.getType7()[0:3] type8=comicManager.getType8()[0:3] k1 = (u'热血,战斗,武侠', type1) k2 = (u'恋爱,后宫', type2) k3 = (u'恐怖,悬疑', type3) k4 = (u'治愈,儿童,唯美', type4) k5 = (u'搞笑,萌系', type5) k6 = (u'古风,穿越,冒险', type6) k7 = (u'校园,都市', type7) k8 = (u'魔幻,科幻,玄幻', type8) context={'comiclist':[k1,k2,k3,k4,k5,k6,k7,k8], 'recommends':recommends, } return render(request,'comic/index.html',context)
def getContent(request): chapterUrl=request.GET.get('chapterUrl',None) comicname=request.GET.get('comicname',None) chaptername=request.GET.get('chaptername',None) comicid=request.GET.get('comicid',None) spider= spiderfactory.getSpider(chapterUrl) content=spider.getImgRealPath(chapterUrl) comicManager = Comic.comicManager comic = comicManager.get(Q(id=int(comicid))) infoUrl=comic.comic_url context={"content":content, 'len':len(content), 'chaptername':chaptername, 'comicname':comicname, 'infoUrl':infoUrl, 'chapterUrl':chapterUrl, 'comicid':comicid, } return render(request, 'comic/chapterContent.html',context )
#coding=utf-8 from comicspider import spiderfactory spider = spiderfactory.getSpider('https://manhua.163.com') # 测试获取图片的真实路径列表 def testGetImgRealPath(): print spider.getImgRealPath( 'https://manhua.163.com/reader/4317076104890059052/4320895779440077948' ) testGetImgRealPath()
#coding=utf-8 from comicspider import spiderfactory import re import json shenmanhua=spiderfactory.getSpider('https://www.shenmanhua.com/shenyidinv/') # html=shenmanhua.getSourceCode('https://ac.qq.com/ComicView/index/id/636058/cid/6') html=shenmanhua.getSourceCode('https://ac.gtimg.com/media/js/ac.page.chapter.view_v2.4.0.js?v=20170622') with open('ac.page.chapter.view_v2.4.0.js','w') as f: f.write(html)
#coding=utf-8 from comicspider import spiderfactory spider = spiderfactory.getSpider('https://163.bilibili.com') # 测试获取图片的真实路径列表 def testGetImgRealPath(): print spider.getImgRealPath( 'https://163.bilibili.com/reader/4317076104890059052/4320895779440077948' ) # 测试获取漫画的章节列表 def testGetChapters(): print spider.getChapters( 'https://163.bilibili.com/source/4317076104890059052') # 测试获取第一章图片的真实路径列表 def testFirstChapterImg(): firstChapter = spider.getChapters( 'https://163.bilibili.com/source/4317076104890059052')[0] print firstChapter['chapterUrl'], firstChapter['title'] print spider.getImgRealPath(firstChapter['chapterUrl']) # testGetImgRealPath() # testGetChapters() testFirstChapterImg()
#coding=utf-8 from comicspider import spiderfactory import execjs import re import json spider = spiderfactory.getSpider( 'https://ac.qq.com/ComicView/index/id/636058/cid/6') # 测试破解加密算法 def testDecodeImgpath(): html = spider.getSourceCode( 'https://ac.qq.com/ComicView/index/id/629632/cid/45') data = re.findall(r"var DATA\s*= '(.*)'", html)[0] nonce = re.findall(r'window\[".*=(.*);', html)[0] nonce = execjs.eval(nonce) print spider.decodeImgpath(data, nonce) # 测试获取图片的真实路径列表 def testGetImgRealPath(): # print spider.getImgRealPath('https://ac.qq.com/ComicView/index/id/628543/cid/1') print spider.getImgRealPath( 'https://ac.qq.com/ComicView/index/id/635032/cid/14') # 测试获取漫画的章节列表 def testGetChapters(): chapters = spider.getChapters( 'https://ac.qq.com/Comic/comicInfo/id/627718')