爬取网页图片(urllib)

本文是作者初次尝试爬虫的实践记录,通过Python的urllib库下载网页HTML,并使用正则表达式提取出图片链接。教程详细介绍了如何找到并保存百度贴吧中的.jpg图片。

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

很久之前就想学习爬虫,今天进行第一次尝试,爬取百度贴吧的图片:

第一步:​​​​​​

先学习使用urllib包将网页HTML文件down下来

import urllib.request

url = 'https://tieba.baidu.com/p/5999308366'
page = urllib.request.urlopen(url)
html = page.read()             #html文件存放在现在的html里
#写入文件
pagefile = open('./page/tieba.txt','wb)
pagefile.write(html)
pagefile.close()

得到

第二步:

寻找文件中图片的名,写正则表达式过滤出来

从文件中找到 发布到帖子里的图片是src="xxxxx.jpg" size="这样,所以写一个正则表达式(目前需要学习)把图片地址全部存起来 一个个输出(好像百度贴吧都是.jpg)

reg = r'src="(.+?\.jpg)" size'

    import re
    reg = r'src="(.+?\.jpg)" size'
    reg_img = re.compile(reg)    #编译一下
    imglist = reg_img.findall(url_code)    #其中url_code是刚刚获取到的html
    i = 1
    for img in imglist:
        urllib.request.urlretrieve(img, '%s.jpg' %i)
        i += 1

加上输入URL  完整代码如下

#coding:utf-8
import urllib.request
import re

#封装爬取网页的方法
def get_html(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    pagefile = open('./page/tieba.txt', 'wb')
    pagefile.write(html)
    pagefile.close()
    return html

#封装爬取图片的方法
def get_image(url_code):
    # 匹配图片
    reg = r'src="(.+?\.jpg)" size'
    reg_img = re.compile(reg)
    imglist = reg_img.findall(url_code)
    i = 1
    for img in imglist:
        urllib.request.urlretrieve(img, '%s.jpg' %i)
        i += 1

url = input('请输入url:')
if url:
    print('url是:' + url)
else:
    exit("未输入网址")


url_code = get_html(url).decode('utf-8')
get_image(url_code)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值