用python爬取网站的图片----有详细注释,欢迎大家在评论区指正错误

 初学python,部分代码来自网络,如有错误欢迎大神指点。

#-*- encoding:utf-8 -*-
import urllib
import urllib.request
import re
#打开网页下载器
def open_html(url):
	require = urllib.request.Request(url)  #使用request()来创建请求对象
	reponse = urllib.request.urlopen(require)# 传入对象获取页面
	html = reponse.read()  #通过read()读取页面
	return html     #返回一个读取到的网页对象
#下载图片
def load_image(html):
	regx = 'img.akqipai.com[\S]*jpg' #用正则匹配,需要抓取的图片地址
	pattern = re.compile(regx)    #编译正则表达式模式,返回一个对象
	get_image = re.findall(pattern,repr(html)) 
	#repr()函数将对象转化为供解释器读取的形式,通过传入正则和网页对象,返回元组,内含匹配的值
	print(len(get_image)) # 自己加的,看提前看下有多少张图片
	num = 1
	for img in get_image:#循环读取匹配的值
		img = 'https://' + img #添加头部字符串。
		photo = open_html(img) #再次读取仅包含图片的网址
		with open(r'E:\py\%s.jpg'%num,'wb') as f:
			print('开始下载图片')
			f.write(photo)    #保存图片
			print ('正在下载%s张图片'%num)
			f.close()
		num = num +1
		if num>1:
			print('下载成功!!!')
		else:
			print('下载失败!!!')
	
url = 'http://www.80s.la/' #传入需要爬取的网址
html = open_html(url)     #打开网址获取网页对象
load_image(html)          #下载图片

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值