爬多页图片

既然能爬单页的图片了,接下来就要爬多页的啦

任务:爬取某壁纸网站的壁纸

# -*- coding: utf-8 -*
import urllib
import re

def getHtml(url):
      page=urllib.urlopen(url)
      html=page.read()
      return html

def getImg(html):
    print'开始执行'
    reg =r'src="(.*?\.jpg)" alt="'
    imgre =re.compile(reg)
    imglist=re.findall(imgre,html)
    if i==1:
        x=0
    else:
        x=17*i
    for imgurl in imglist:
        urllib.urlretrieve(imgurl,'%s.jpg' % x)
        x+=1

之前的代码和爬单页的代码一样,那怎样实现爬多页呢,通过观察,一个网站的网页的网址是有一定的规律的
想我爬的这个
http://www.ivsky.com/bizhi/index_%s.html只有index后边的数字不同,并且是由1逐渐递增的
所以用一个for循环来遍历啊
  for i in range( 1, 5): url = "http://www.ivsky.com/bizhi/index_%s.html"%i html=getHtml(url) getImg(html)

爬取结果

(该网站每页由18张哦)



猜你喜欢

转载自blog.csdn.net/qq_40024605/article/details/79067580