【问题标题】:Why Can I only download 51 images instead of 151 and Why no errors are showing?为什么我只能下载 51 张图片而不是 151 张图片,为什么没有显示错误?
【发布时间】:2021-05-21 01:22:30
【问题描述】:

大家晚上好:

所以我在网上抓取一个印度鞋店网站,我得到了所有 151 个图像链接,但是当我去下载它们时,我只得到 51 个没有错误。这是我的代码和输出

import pandas as pd
import requests
import time

Bata = pd.read_csv("Batav1.csv")

Brand = Bata["Brand"].tolist()
Title = Bata["Title"].tolist()
Images = Bata["Img Links"].tolist()

r = requests.Session()

for b,t,i in zip(Brand,Title,Images):
    s = r.get(i).content
    with open("BataPics//Test//" + f"{t}-{b}.jpg","wb") as f:
        f.write(s)
    time.sleep(1)

CSV 文件链接:(Google 云端硬盘)

Csv File

【问题讨论】:

  • 在 for 循环中实现一个计数器来检查它是否实际运行了 151 次。我猜你从zip(Brand,Title,Images) 得到的结果只有 51 个。

标签: python python-3.x pandas web-scraping jupyter-notebook


【解决方案1】:

所以我在覆盖具有相同名称的文件时解决了这个问题,所以我从图像 url 中提取了唯一代码并获得了所有 151 个图像:)

【讨论】:

    【解决方案2】:

    CSV 文件的前两列有重复的组合。这会导致您的代码生成重复的文件名。基本上你正在覆盖以前下载的文件。

    实际上应该有 57 个文件,而不是 51 个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2016-10-28
      • 2021-11-06
      • 1970-01-01
      相关资源
      最近更新 更多