代码拉取完成,页面将自动刷新
#-*- coding:utf-8 -*-
import urllib,urllib2
import re,os
# 设置代理,不需要代理的此段注释掉
# proxy_support = ur.ProxyHandler({'http': '10.19.110.31:8080'})
# opener = ur.build_opener(proxy_support)
# ur.install_opener(opener)
#设置正则表达式
pattern = re.compile(r'<li[\s\S]+?>#(\d+)<[\s\S]+?img src="(http://.+?)"[\s\S]+?</li>')
#全局变量
url_base = 'http://jandan.net/ooxx/page-%s#comments'
img_set = set()
# range是下载的页码范围
for p in range(1000,2000):
url = url_base%p
data = urllib2.urlopen(url).read()
img_list = pattern.findall(data)
print(p,len(img_list))
img_set1 = set(img_list)
img_set = img_set.union(img_set1)
#当前页不足25张图片,说明是最新一页,退出,不查下一页
if len(img_list) < 25 : break
print(u'共有%s张图片'%len(img_set))
for s in img_set:
try:
url = s[1]
gs = s[1].rsplit('.',1)[1]
# 保存路径和文件名称,命名规则:图片楼层号
dir_path = 'g:\\img'
if not os.path.exists(path):
os.mkdir(path)
img_path = dir_path+'\\%s.%s'%(s[0],gs)
urllib.urlretrieve(url,img_path)
print(img_path,'get !')
except:
print "wrong!"
print(s)
raw_input(u'下载完成'.encode("gb2312"))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。