对路使用ajax实现异步加载内容,在它的js代码中找到了相关代码
type : 'POST',
url : '/index.php/request/new_data2/' + times + '/'+locinfo[domn][0],
dataType : 'json',
返回的json字符串是一个被序列化的数组,数组中存放的是字典,其中要关注的是dict['t']以及dict['i'],dict['t']存放了图片的说明,dict['i']存放了图片的url.知道了这些后就可以开始python脚本了
import相关模块
# -*- coding: utf-8 -*- import urllib2 as url import json import sys import os from datetime import *
(已经修复不能获取指定类型的bug,请求的url中最后一个数字代表类型)
获取json:index是下载的第几页,type是tws(太猥琐) tr(太热) tgx(太搞笑) tml(太萌了) tht(太好听 tyy(太养眼) 之一
然后是创建html文件
def create_html(alllist,name):
html_head='<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>duilu</title><body>'
html_end="</body></html>"
f=open("%s.html"%(name),"w")
f.write(html_head)
for x in range(len(alllist)):
f.write('<div><img src="/UploadFiles/2021-04-02/%s.gif">
下载图片
def download(list,dirname,index=0):
os.chdir(dirname)
for dict in list:
imgurl=dict['i']
text= dict['t']
print index
print imgurl
print text
res=url.urlopen(imgurl)
img_type=".gif"
content_type=res.headers["content-type"]
if content_type=="image/jpeg":
type=".jgp"
filepath="%s"%(str(index)+img_type)
f=open(filepath,"wb")
f.write(res.read())
f.close()
res.close()
index+=1
os.chdir("../")
主函数,用于调用上面那几个函数
def start(type,lenght):
lenght=int(lenght)
now=datetime.now()
now=now.strftime("%m-%d %H.%M.%S")
os.mkdir(type+now)
alllist=[]
for x in range(0,lenght):
list=get_json(x,type)
alllist.extend(list)
create_html(alllist,type+now)
download(alllist,type+now)
print "\r\n\r\n==============OK==============\r\n\r\n"
一个循环体,获取用户输入
while(True):
print "输入tws(太猥琐) tr(太热) tgx(太搞笑) tml(太萌了) tht(太好听 tyy(太养眼) 之一\r\nexit:退出"
type=raw_input()
all_type=["tgx","tws","tyy","tr","tml","tht"]
if type in all_type:
print "键入下载页数:"
lenght=raw_input()
start(type,lenght)
elif type=="exit":
break
else:
print "\r\n输入有误\r\n"
ok完成了,脚本会在当前目录下生成一个以时间命名的html文件以及同名文件夹来存放图片。
测试了一下,下载100多张图片用了几分钟,所以呢我觉得不需要多线程来下载。
也可以稍稍修改下生成html的地方,变成分页显示,然后将网页拖进安卓手机里看也是不错的
用python就是那么简单!
以上这篇批量下载对路网图片并生成html的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
批量生成html
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。