import requests
import flask
#############################################
def 打开漫画(漫画目录网址):
目录页面=requests.get(漫画目录网址)
目录页面.encoding="utf-8"
目录=[]
开始关键词='<div class="chapter-body clearfix">'
a1=目录页面.text.find(开始关键词)+len(开始关键词)
a=a1
z=目录页面.text.find('</div>',a)
print(目录页面.text)
while a<z and a>=a1:
b=目录页面.text.find('href="',a)+len('href="')
c=目录页面.text.find('"',b)
d=目录页面.text.find('<span>',c)+len('<span>')
a=目录页面.text.find('<',d)
print(目录页面.text[b:c],目录页面.text[d:a])
目录.append([目录页面.text[b:c],目录页面.text[d:a]])
return 目录
def 打开目录(目录链接):
目录=[]
目录页面=requests.get(目录链接)
目录页面.encoding="utf8"
开始关键词='按剧情'
a=目录页面.text.find(开始关键词)+len(开始关键词)
z=目录页面.text.find('</div',a)
while a<z and a!=-1:
b=目录页面.text.find('<li>',a)
c=目录页面.text.find('href="',b)+len('href="')
d=目录页面.text.find('"',c)
e=目录页面.text.find('<',d)
a=目录页面.text.find('</li>',e)
#print(目录页面.text[c:d],目录页面.text[d+2:e])
目录.append([目录页面.text[c:d],目录页面.text[d+2:e]])
开始关键词='<div id="w1" class="">'
a1=目录页面.text.find(开始关键词)+len(开始关键词)
a=a1
z=目录页面.text.find('</div>',a)
while a<z and a>=a1:
d=目录页面.text.find('title="',a)+len('title="')
e=目录页面.text.find('"',d)
f=目录页面.text.find('<img src="',e)+len('<img src="')
a=目录页面.text.find('"',f)
b=目录页面.text.find('href="',a)+len('href="')
c=目录页面.text.find('"',b)
#print(a,目录页面.text[b:c],目录页面.text[d:e],目录页面.text[f:a])
目录.append([目录页面.text[b:c],目录页面.text[d:e],目录页面.text[f:a]])
开始关键词='pagination'
a1=目录页面.text.find(开始关键词)+len(开始关键词)
a=a1
z=目录页面.text.find('</div>',a)
while a<z and a>=a1:
b=目录页面.text.find('href="',a)+len('href="')
c=目录页面.text.find('"',b)
d=目录页面.text.find('>',c)+1
a=目录页面.text.find('<',d)
#print(目录页面.text[b:c],目录页面.text[d:a])
目录.append([目录页面.text[b:c],目录页面.text[d:a]])
return 目录
def 获取图片链接(page,目录):
漫画网页=requests.get("https://www.36mh.com/"+目录[page][0])
漫画网页.encoding="utf-8"
b=漫画网页.text.find('chapterImages = [')+len('chapterImages = [')
c=漫画网页.text.find("]",b+1)
d=漫画网页.text.find('chapterPath = "')+len('chapterPath = "')
e=漫画网页.text.find('"',d+1)
图片路径="https://img001.yayxcc.com/"+ 漫画网页.text[d:e]
漫画图片=漫画网页.text[b:c].split(',')
图片链接=[]
for x in range(len(漫画图片)):
图片链接.append(图片路径+漫画图片[x][1:-1])
return 图片链接
app=flask.Flask(__name__)
@app.route('/<manhua>')
def page(manhua):
if(manhua==''):
manhua='list'
目录=打开目录('https://www.36mh.com/'+manhua)
网页=""
for x in range(len(目录)):
if len(目录[x])==2:
网页+=' <a href="{}">{}</a> '.format(目录[x][0][:-1],目录[x][1])
elif len(目录[x])==3:
网页+='<br><a href="{}"><img src="{}">{}</a>'.format(目录[x][0][目录[x][0].find('.com/')+4:-1],目录[x][2],目录[x][1])
else:
pass
return 网页
@app.route('/')
def index():
return page('list')
@app.route('/<manhua>/<name>')
def 漫画目录(manhua,name):
if manhua=='manhua':
mainpage=""
完美目录=打开漫画('https://www.36mh.com/'+manhua+'/'+name)
for x in range(len(完美目录)):
pagelink=完美目录[x][0].split('/')
pagelink[-1]=''
mainpage+='<a href="{}" >{}</a> '.format('/'.join(pagelink)+str(x),完美目录[x][1])
return mainpage
else :
return page(manhua+'/'+name)
@app.route('/<manhua>/<name>/<int:page>')
def 漫画观看页面(manhua,name,page):
目录=打开漫画('https://www.36mh.com/'+manhua+'/'+name)
网页=""
图片链接=获取图片链接(int(page),目录)
for x in range(len(图片链接)):
网页+='<img src="{}" width=100%> <br>'.format(图片链接[x])
if int(page)<=len(目录):
网页+='<h1><a href="/{}">{}</a></h1>'.format(int(page)+1,目录[int(page)+1][1])
return 网页
if __name__ =='__main__':
app.run(host="0.0.0.0",port=5000,debug=True)
简而言之 把人家网页搬了一遍,去除了所有杂项,并把一话的图片设定载入到同一页面上去