学习小记 - Python爬虫 (3) 利用Python爬取wanimal所有图片

这是辆车…

本次调用urlretrieve()方法实现对媒体文件的本地存储,其他和之前类似。

from urllib.request import urlopen, urlretrieve
from bs4 import BeautifulSoup
from urllib.error import URLError, HTTPError
import requests

class Wanimal:

    def __init__(self, page):
        self.page = page
        self.imgs = []

    def getPage(self, page):
        try:
            html = urlopen("http://wanimal1983.org/page/"+str(page))
            bsobj = BeautifulSoup(html, "html.parser")
            return bsobj
        except (URLError, HTTPError) as e:
            print (e)
            return None

    def getImages(self, page):
        print ("正在加载第%d页" % page)
        bsobj = self.getPage(page)
        imgTags = bsobj.findAll("div", {"class": "photo-sets"})
        self.imgs = []
        for imgTag in imgTags:
            for img in imgTag.findAll("img"):
                self.imgs.append(img)

    def download(self):
        for page in range(self.page):
            self.getImages(page+1)
            for i in range(len(self.imgs)):
                print ("正在保存第%d个图片" % (i+1))
                path = str(page)+'_'+str(i)+".jpg"
                print (self.imgs[i].attrs["src"])
                urlretrieve(self.imgs[i].attrs["src"], "wanimal/"+path)


w = Wanimal(100000)
print (w.imgs)
w.download()

由于Ubutun下不能全局翻墙(我不会><),本次代码在windows下运行。
代码跑起来咯~!

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值