第一种、普通抓取方式
针对于很多不带头部信息,没有任何反爬措施的普通网站图片抓取使用。如 妹子图。
开始新建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~