爬取图片的小程序

本文介绍了一个Python爬虫程序,用于从指定网页抓取图片。使用了urllib.request和re模块,实现了从HTML中提取图片链接,并下载到本地。代码示例详细展示了如何获取HTML内容,解析图片链接,以及使用urlretrieve方法保存图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬虫程序同样是满天飞,想到什么下载什么就可以了,没有github + google做不了的事情。

下面有个样例可以看看:

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 12 17:31:25 2019
@author: sunst&晴雨qy
@des:爬取图片,提供两种方法
"""
# re模块主要包含了正则表达式
import re
# urllib模块提供了读取Web页面数据的接口
import urllib.request
from urllib import request

# 定义一个getHtml()函数
def getSuperHtmlCode(url):
    # i = 0
    print('start-getsuperhtml')
    with request.urlopen(url) as f:
        # print(i)
        # i+=1
        data = f.read()
        # print('Status:', f.status, f.reason)
        for k, v in f.getheaders():
            print('%s: %s' % (k, v))
        # print('Data:', data.decode('utf-8'))
        return data

# 定义一个getHtml()函数
def getHtml(url):
    print('start-gethtml')
    page = urllib.request.urlopen(url)  # urllib.request.urlopen()方法用于打开一个URL地址
    html = page.read()  # read()方法用于读取URL上的数据
    return html
def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'  # 正则表达式,得到图片地址
    imgre = re.compile(reg)  # re.compile() 可以把正则表达式编译成一个正则表达式对象.
    html = html.decode('utf-8')  # python3
    imglist = re.findall(imgre, html)  # re.findall() 方法读取html 中包含 imgre(正则表达式)的数据
    # 把筛选的图片地址通过for循环遍历并保存到本地
    # 核心是urllib.request.urlretrieve()方法,直接将远程数据下载到本地,图片通过x依次递增命名
    x = 0

    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl, './%s.jpg' % x)
        x += 1
# html = getHtml("https://tieba.baidu.com/p/2555125530")
html = getSuperHtmlCode("https://tieba.baidu.com/p/2555125530")
print(html)
print(getImg(html))

爬取效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的探索之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值