python爬虫爬取网页图片_利用Python爬虫爬取网页图片

写一个可以爬取网页图片的简单爬虫。

我们先打开这个网页,查看想要爬取类容的特征。点击想要爬取的图片,审查元素。查看图片地址,寻找地址的限定。想要爬取的图标查看图片的地址

踩好点后可以着手编写我们的爬虫。

import urllib .request #导入用于打开URL的扩展库模块

import urllib .parse

import re #导入正则表达式模块

def open_url(url):

req=urllib .request .Request (url) #将Request类实例化并传入url为初始值,然后赋值给req

#添加header,伪装成浏览器

req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0')

#访问url,并将页面的二进制数据赋值给page

page=urllib .request .urlopen(req)

#将page中的内容转换为utf-8编码

html=page .read().decode('utf-8')

return html

def get_img(html):

# [^"]+\.jpg 匹配除"以外的所有字符多次,后面跟上转义的.和png

p=r'([^

#返回正则表达式在字符串中所有匹配结果的列表

imglist=re.findall(p,html )

#循环遍历列表的每一个值

for each in imglist :

#以/为分隔符,-1返回最后一个值

filename=each.split("/")[-1]

访问each,并将页面的二进制数据赋值给photo

photo=urllib .request .urlopen(each )

w=photo .read()

#打开指定文件,并允许写入二进制数据

f=open('E://image//'+filename+'.png','wb')

#写入获取的数据

f.write(w)

#关闭文件

f.close()

#该模块既可以导入到别的模块中使用,另外该模块也可自我执行

if __name__=='__main__':

#定义url

url="http://findicons.com/pack/2787/beautiful_flat_icons"

#将url作为open_url()的参数,然后将open_url()的返回值作为参数赋给get_img()

get_img(open_url(url))

运行程序后打开文件夹应该是这样的

这样就爬取成功啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值