爬取图片并存入文件夹中

这段代码展示了如何使用Python的urllib和re模块从网页上抓取图片,并将其保存到本地文件夹中。首先定义了一个`handler_url`函数来处理URL请求,然后通过正则表达式`search_img`函数从HTML内容中提取图片链接。最后,`download`函数用于下载这些图片,保存在名为'tupian'的文件夹下。用户可以输入起始页和结束页来爬取指定范围的图片。

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

import urllib.request
import urllib.parse
import re
def handler_url(page,base_url):
    url = base_url + str(page) + '/'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
    }
    request = urllib.request.Request(url=url,headers=headers)
    response = urllib.request.urlopen(request)
    return response.read().decode('utf-8')

def search_img(html):
    pattern = re.compile(r'<div class="thumb">.*?<img src="(.*?)" alt=.*?/>.*?</div>',re.S)
    img_list = pattern.findall(html)
    return img_list

def download(img_url):
    img_url = 'https:' + img_url
    filename = img_url.split('/')[-1]
    filename = './tupian/' + filename
    urllib.request.urlretrieve(img_url,filename=filename)


def main():
    base_url = 'https://www.qiushibaike.com/pic/page/'
    start_page= int(input('输入起始页:'))
    end_page = int(input('输入结束页:'))
    for page in range(start_page,end_page+1):
        html=handler_url(page,base_url)  # 处理url
        img_list = search_img(html)  # 正则搜索
        print(img_list)
        for img_url in img_list:
            download(img_url)


if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值