python爬虫——requests+beautifulsoup爬取下厨房首页图片

本文介绍了一种使用Python和BeautifulSoup库从“下厨房”网站抓取图片的方法。通过解析网页源代码,获取img标签的data-src或src属性,然后下载并保存图片到本地。文章详细展示了代码实现过程。

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

一.网站分析

在这里插入图片描述
复制图片链接查看
在这里插入图片描述
去掉@以及之后的参数再次查看

在这里插入图片描述
有的图片的url属性为data-src
在这里插入图片描述

二.python代码

import os
import requests
from urllib.parse import urlparse
from bs4 import BeautifulSoup


url = 'http://www.xiachufang.com/'
r = requests.get(url)
# 生成对象
soup = BeautifulSoup(r.text, 'lxml')
img_list = []
for img in soup.select('img'):
    if img.has_attr('data-src'):
        img_list.append(img.attrs['data-src'])
    else:
        img_list.append(img.attrs['src'])

# 初始化下载文件目录
image_dir = os.path.join(os.curdir, 'images')

for img in img_list:
    o = urlparse(img)
    # 图片命名
    filename = o.path[1:].split('@')[0] 
    filepath = os.path.join(image_dir, filename)
    if not os.path.isdir(os.path.dirname(filepath)):
        os.mkdir(os.path.dirname(filepath))
    # 原图url,非缩略图
    img_url = '%s://%s/%s' % (o.scheme, o.netloc, filename)
    # print(img_url)
    resp = requests.get(img_url)
    with open(filepath, 'wb') as fp:
        for chunk in resp.iter_content(1024):
            fp.write(chunk)

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值