Python学习第一课——爬取模特秀网站的模特图片

本文介绍了一次使用Python进行网页爬取的实际操作过程。作者通过分析模特秀网站的页面结构,利用Python的urllib库实现了对特定图片URL的抓取,并成功下载到本地。文中详细记录了从网站分析到图片下载的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次写博客,经验不足。

很早以前就听说过爬虫,但是从未自己去实现过,昨天看到一个爬虫的教学视频,不免心里痒痒,于是自己动手编程实现。在这里我选择的是Python语言(不要问我为什么,实际上我也没有学过Python尴尬,就当是练练手了)。但是在实现的过程中发现Python真的是简洁精炼,真正的体验到了“人生苦短,我用Python”这句话。

上正文,本次实践是爬取模特秀网站上的图片下载到本地(教学视频中是对mm.taobao.com网站进行爬取的,但是我搜索这个网址时发现它已经被改成了“阿里V任务”了)。整个爬取的过程思路是:

1.首先对网站进行分析,找到每个模特主页的网址特点。

2.urlopen打开每个模特主页,然后read到一个对象中去,再对主页中的图片网址分析特点(在这里也可以分析每个模特的详细情况,比如年龄,籍贯等具体信息都下载到本地)在这里我发现模特照片的前缀都会出现/images/photos,后缀无需多言是.jpg。

3.接下来将所有找到的url保存在一个列表photo中(这个网站读取到的图片会有重复的现象,我把它保存在列表中以便于消除重复),消除重复后用urlretrieve函数将photo中的每个元素对应的图片都下载下来。


# -*- coding:utf-8 -*- 
import urllib.request
i=22300
photo=[]
while i<22310 :
    print('---------------------------')
    url="http://www.motexiu.cn/"+str(i)+"/album"
    up=urllib.request.urlopen(url)
    cont=str(up.read())
    j=cont.find("albumList")
    print(cont[j+10:j+13])
    url2="http://www.motexiu.cn/"+str(i)+"/albumList/"+str(cont[j+10:j+13])
    up2=urllib.request.urlopen(url2)
    cont2=str(up2.read())
    k=0
    m=0
    while k<len(cont2):
        head=cont2.find("/images/photos/",k)
        if cont2[head+14:head+18]=='/dtt':
            k=head+10
            continue
        tail=cont2.find(".jpg",head)
        if head==-1:
            break
        url3="http://www.motexiu.cn"+cont2[head:tail+4]
        if url3.find('.png')>0:
            k=head+10
            continue
        photo.insert(m,url3)
        k=tail+5
    print('----------------------------')
    i+=1
photo=list(set(photo))
n=0
print('start download')
while n<len(photo):
    urllib.request.urlretrieve(photo[n],'photo/photo'+str(n+1)+'.jpg')
    n+=1
Last Updata : 2018-06-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值