php ajax 下载图片路径,JavaScript_批量下载对路网图片并生成html的实现方法,对路使用ajax实现异步加载内容 - phpStudy...

批量下载对路网图片并生成html的实现方法

对路使用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='

duilu'

html_end=""

f=open("%s.html"%(name),"w")

f.write(html_head)

for x in range(len(alllist)):

f.write('

%s.gif'%(name,str(x)))

f.write('

%s

'%(alllist[x]['t'].encode('utf-8')))

f.write(html_end)

f.close()

下载图片

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的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。相关阅读:

整理AngularJS框架使用过程当中的一些性能优化要点

linux下实现定时执行php脚本

Win7系统计算机属性打不开怎么办?Win7系统计算机属性打不开的解决方法

C#实现SMTP邮件发送程序实例

asp.net静态方法弹出对话框实现思路

JavaScript事件详细讲解

C++指向函数的指针用法详解

centos更改文件夹打开方式(增加路径、前进、后退按钮)

使用DOM进行自定义控制示例代码

jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结

三种方式获取XMLHttpRequest对象

JavaScript从数组中删除指定值元素的方法

Android字符串和十六进制相互转化出现的中文乱码问题

Win7系统网页无法添加到收藏夹的解决方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值