首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BeautifulSoup抓取图片

用BeautifulSoup抓取图片
EN

Stack Overflow用户
提问于 2018-11-21 13:59:58
回答 1查看 1.2K关注 0票数 1

我正在尝试使用BeautifulSoup从一个网站上抓取和下载图片。我已经抓取了存储在imgVal中的链接列表,然后代码可以创建一个新的目录来存储图像。我遇到的问题是代码只能从链接列表中下载一张图片。我想把它们全部下载。我怎样才能做到这一点?

代码语言:javascript
复制
from bs4 import BeautifulSoup
from os.path import basename
import requests
import os

...

def writeImages():
    imgVal = getThumbnailLinks()
    imgBasename = '\n'.join(map(str, imgVal))

    pageNumber = '001'
    filename = pageNumber + '/'
    os.makedirs(os.path.dirname(filename), exist_ok=True)

    with open(filename + basename(imgBasename),"wb") as f:
        f.write(requests.get(imgBasename).content)

writeImages()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 15:26:44

那么您想下载多行URL作为requests的输入吗?你不能,你必须一个一个地用循环来做。

代码语言:javascript
复制
def writeImages():
    pageNumber = '001'
    filename = pageNumber + '/'
    os.makedirs(os.path.dirname(filename), exist_ok=True)

    imgVal = getThumbnailLinks() # ['http://a.jpg', 'http://b.jpg']
    for imgBasename in imgVal:
        with open(filename + basename(imgBasename),"wb") as f:
            f.write(requests.get(imgBasename).content)

writeImages()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53413741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档