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

网友投稿 227 2023-07-15


批量下载对路网图片并生成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='

html_end=""

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

f.write(html_head)

for x ihttp://n range(len(alllist)):

f.write(''%(name,str(x)))

f.write('

%s

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就是那么简单!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SSH框架网上商城项目第26战之订单支付后发送短信提醒
下一篇:Bootstrap学习笔记之css样式设计(1)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~