Python2 urllib2爬取网页一 简单爬取

版权声明: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())

猜你喜欢

转载自blog.csdn.net/qq_40527086/article/details/83120310
今日推荐