每天一个小Demo-Python爬虫图片简单抓取

    本人主要是做Android开发,业余时间学习Python语言,喜欢以项目开发作为学习过程,所以把自己所学习的和自己理解的知识分享出来,希望能给同样学习Python语言的朋友一些帮助,有错误的地方也请及时提出,我会做出修改。

    今天给大家分享的是一个简单的图片爬去Demo,涉及到一些简单的知识,如果有不明白的地方可以给我留言,或者自行百度,Python版本3.6。

import urllib.request
import urllib.error
#正则表达式库
import re
#定义爬取单个页面函数
def carw(url, page):
    # 打开网页并读取
    html_info = urllib.request.urlopen(url).read()
    # 转换成字符串
    html_info = str(html_info)
    # 含有图片信息筛选的正则表达式
    pat_one = '<ul class="ul_half">.+?<div class="mad" id="list1">'
    # 进行匹配过滤,得到信息列表
    result = re.compile(pat_one).findall(html_info)
    #取出信息字符串,只有一个元素
    result = result[0]
    #含有图片地址筛选的正则,
    pat_two = '<img src="(.+?\.jpg)"'
    #得到图片地址列表
    image_list = re.compile(pat_two).findall(result)
    # 循环下载存储
    x = 1
    for image_url in image_list:
        # 设置文件名称和格式
        image_name = "E:/image/" + str(page) + str(x) + ".jpg"
        try:
            # 存储文件
            urllib.request.urlretrieve(image_url, image_name)
            # 处理异常
        except urllib.error.URLError as e:
            if hasattr(e, "code"):
                x += 1
            if hasattr(e, "reason"):
                x += 1
        x += 1
# 主循环程序
for i in range(1, 5):
    url = "http://m.ivsky.com/tupian/ziranfengguang/index_" + str(i) + ".html"
    carw(url, i)
代码很简单,就是一些基本库的应用,可以多练习几个网站图片的抓取,有利用我们理解爬虫的基本原理,谢谢大家!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值