Python3抓取网络图片(一)

第一种、普通抓取方式

  针对于很多不带头部信息,没有任何反爬措施的普通网站图片抓取使用。如 妹子图
开始新建spider1.py文件,输入代码如下:

#-*- encoding:utf-8 -*-
"""
@desc 抓取普通网络图片
@author Sanplit
"""

import os
import re
import urllib.request

input_url = input('Please input your url: ')
# input_url = 'http://pic.ziweidan.com'

#根据给定的网址来获取网页详细,得到网页的源码  
def getHtml(url):
    html = urllib.request.urlopen(url).read().decode('utf8')
    return html

#目录是否存在,不存在则创建
def createDir(path):
    if not os.path.exists(path):
        os.makedirs(path)
    else:
        if os.path.isfile(path):
            os.mkdir(path)

#保存图片
def saveImg(imgList, path = 'img1\\'):
    createDir(path)
    imgIndex = 1
    for imgUrl in imgList:
        #打开imgList中保存的图片网址,并下载图片保存在本地,format格式化字符
        urllib.request.urlretrieve(imgUrl,'{}{}.jpg'.format(path,imgIndex))
        imgIndex += 1
    print('------ over ------- Count: ',imgIndex-1)

html = getHtml(input_url)

#匹配图片标签
reg = r'src="(.+?\.jpg|png|gif)"'
imgre = re.compile(reg, re.I)
imglist = re.findall(imgre, html)
if len(imglist):
    saveImg(imglist)
else:
    print('game over! No img to spider')

执行命令python spider1.py, 输入所需抓取网址,如:http://pic.ziweidan.com,然后慢慢等等下载吧,也可以观察 img1文件夹下的图片下载情况。

简单爬虫over~

- End -




(1)
Python爬虫