版权声明:All rights reserved by LK12, reprint please explain the source https://blog.csdn.net/qq_40527086/article/details/83120310
Python2 urllib2爬取网页一 简单爬取图片
单张图片的爬取
python -v
Python 2.7.14 |Anaconda, Inc.|
我们有下面这张验证码图片,我们想把它下载到本地以便于下一步的解析。
http://idas.uestc.edu.cn/authserver/captcha.html
形如以下图片,但是验证码会时刻发生改变。
运用urllib2库进行简单的下载到本地
import urllib2
url = 'http://idas.uestc.edu.cn/authserver/captcha.html?ts=437'
name ='Captcha.jpg'
html = urllib2.urlopen(url)
cont = html.read()
with open(name,'wb') as f:
f.write(cont)
在相应的目录中便得到了该图片。
这上面的url是给定的,只能下载一张图片,如果要是批量下载,就需要用循环来判断不同的url,下面是从其他地方看到的一个例子,就是把图片url中的图片名字修改,然后就可以循环保存了,不过也是先确定了某个url。
多张图片的下载
这是一个壁纸网站,我们通过修改url名来不断爬取图片。
壁纸网站
#http://img.ivsky.com/img/bizhi/pre/201808/24/meili_de_haian-003.jpg
import urllib2
def rename(name):
url = 'http://img.ivsky.com/img/bizhi/pre/201808/24/meili_de_haian-'
if len(name) == 2:
name = url+'0'+name+'.jpg'
elif len(name) == 1:
name = url+'00'+name+'.jpg'
else:
name = url+name+'.jpg'
return name
count = 1
while count<=8:
name = str(count)
name = rename(name)
url = str(name)
print name
try:
html = urllib2.urlopen(url)
pic_name = 'pic'+str(count)+'.jpg'
with open(pic_name,'wb') as f:
f.write(html.read())
except Exception as e:
print e
finally:
count = count + 1
else:
print(url + ' not found')
print(html.getcode())