因为这个网站已经被封,脚本失去作用了,但当时情况都已经在截图中,可以作为参考
说明
python2.7或3.4小脚本
这个小软件是和urllib和urllib2的使用结合了python网页获取异常的处理,原理非常简单,适合初学者练手~
功能
下载这个网站上的图片
成果
先放福利啦~
分析
首先,想下载网站上的图片就需要获得图片的地址,正常套路是用正则在网页源代码中匹配到要下载的图片的网址,再下载,但是这回通过发现图片的路径是有规律的:
N代表第几期,n是代表第几张。
那么接下来就好办了,只要程序循环N和n,不断获取图片就能下载到了!
不过写出来报错,因为当让puython下载的网址不是图片的时候,会报错,程序也就终止了,好办,加个try:
最后修改好是下面的代码
最终成果
2.7版
#-*-coding:utf-8-*-
##python2.7 project
import re,urllib,urllib2
#--------------
No = 1
n = 9
#---------------
s = True
b = True
err = 0
def download_image(url, save_path):
urllib.urlretrieve(url, save_path)
#'http://www.tuigirl8.com/tu/no/n.jpg'
def download(No,n):
html = 'http://www.tuigirl8.com/tu/%d/%d.jpg'%(No,n)
dic = './%d_%d.jpg'%(No,n)
try:
response = urllib2.urlopen(html)
html1 = response.read()
except urllib2.URLError, e:
print'这个路径下没有图片,跳过'
s = False
return s
else:
download_image(html,dic)
print'下载成功%s'%dic
s = True
return s
while b:
if download(No,n) == False:
err+=1
if err == 15:
No+=1
n+=1
print 'ok!'
3.4版
#-*-coding:utf-8-*-
#python3.4 project
import urllib.request,urllib.error
#--------------
No = 1
n = 9
#---------------
s = True
b = True
err = 0
def download_image(url, save_path):
urllib.request.urlretrieve(url, save_path)
#'http://www.tuigirl8.com/tu/no/n.jpg'
def download(No,n):
html = 'http://www.tuigirl8.com/tu/%d/%d.jpg'%(No,n)
dic = './%d_%d.jpg'%(No,n)
try:
response = urllib.request.urlopen(html)
# html= response.()
except urllib.error.URLError as e:
print('这个路径下没有图片,跳过')
s = False
return s
else:
download_image(html,dic)
print('下载成功')
s = True
return s
while b:
if download(No,n) == False:
err+=1
if err == 15:
No+=1
n+=1
print ('ok!')