每天一篇python:简单爬虫下载图片篇

本文介绍如何使用Python的urllib和re模块爬取百度贴吧的图片资源。

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

使用python下载百度贴吧的图片,主要用到了urlib、和re 两个模块,具体代码如下:


#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
Created on 2016年4月17日

@author: damuou
@title: 今天学习使用python 来爬取网页上的图片。
'''
#url相关
import urllib
#正则表达式相关
import re

#返回目标url的html源码    
def getHtml(url):
    page=urllib.urlopen(url)
    html =page.read()
    return html

def getImage(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    #读取html 中包含 imgre(正则表达式)的数据
    imglist = re.findall(imgre,html)
    return imglist     

def downloadImage(urls):
    #此处注意for语法行以冒号结尾
    x=1;
    for url  in urls:
        'urlretrieve解析:直接将远程数据下载到本地。'
        '''参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。'''
        urllib.urlretrieve(url,'%s.jpg' % x)
        x=x+1

if __name__ == '__main__':
    html= getHtml("http://tieba.baidu.com/p/2460150866")
    print html
    imageUrls=getImage(html);
    print imageUrls
    downloadImage(imageUrls)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值