鱼C论坛

 找回密码
 立即注册
查看: 1701|回复: 13

[已解决]求助,为什么我下载出来的格式不是jpg?怎么改

[复制链接]
发表于 2020-6-18 15:35:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import csv
import requests

# 文件路径
file_rode = '/Users/yangxiaolong/Downloads/1.csv'
# 打开文件
csv_file = csv.reader(open(file_rode, 'r', encoding='utf-8'))
# 跳过标题行
next(csv_file, None)

# 可以先用下面注释里的语句看看你文件中的URL取出来之后是什么格式的
# for url in csv_file:
#     print(url)

# 接着对里边的每一条链接做如下操作
for url in csv_file:
    # 这里需要注意的是要将取出来的URL做一个字符串类型转换,并截取其中的link的部分
    r = requests.get(str(url)[2:101])
    music = r.content
    # 目标路径需要换成你自己的路径,str(url)[90:-2]这个的意思是给文件命名
    new_url = "/Users/yangxiaolong/Downloads/1/" + str(url)[90:-2]
    # 下面是将文件以二进制的形式写入到目标文件中
    with open(new_url, 'ab') as file:
        file.write(music)
        file.flush
最佳答案
2020-6-25 17:30:54
本帖最后由 suchocolate 于 2020-6-25 17:34 编辑
Young少帅 发表于 2020-6-25 16:00
A                                                                                                         ...

由于没有你的csv,我用你说的内容做的csv文件,然后爬取正常。
import requests
import csv


headers = {'user-agent': 'firefox'}
with open('test.csv', 'r', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)
        r = requests.get(row[0], headers=headers)
        with open(row[1] + '.jpg','wb') as f:
            f.write(r.content)
            print(row[1] + '下载完成。')
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-18 15:57:22 | 显示全部楼层
最后写入的时候是wb吧,ab是啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-19 14:22:14 | 显示全部楼层
xcsummer 发表于 2020-6-18 15:57
最后写入的时候是wb吧,ab是啥?

我也不知道 在网上找的别人做好的 我不会做 全新菜鸟 ab我也不知道是啥 wb 也不行 下载出来都是文件编辑文稿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-19 14:52:26 | 显示全部楼层
csv内容是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 14:38:52 | 显示全部楼层

一共两列 第一列是jpg结尾的图片链接 第二列是这个图片要改的名称
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 16:41:45 | 显示全部楼层
Young少帅 发表于 2020-6-20 14:38
一共两列 第一列是jpg结尾的图片链接 第二列是这个图片要改的名称

麻烦分享一下csv文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-25 15:52:19 | 显示全部楼层


suchocolate 发表于 2020-6-19 14:52
csv内容是啥

一共两列 第一列是jpg结尾的图片链接 第二列是这个图片要改的名称
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-25 15:53:18 | 显示全部楼层
suchocolate 发表于 2020-6-20 16:41
麻烦分享一下csv文件

/Users/yangxiaolong/Downloads/1.csv
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-25 16:00:04 | 显示全部楼层

A                                                                                                                                             B
http://pic.cdfgsanya.com/assets/ ... ac7df8b07950352.jpg        C024746
http://pic.cdfgsanya.com/assets/ ... 34a588313bafda6.jpg        C034946
http://pic.cdfgsanya.com/assets/ ... 9ad6cf218812999.jpg        C037734
http://pic.cdfgsanya.com/assets/ ... 8e90eebdbaff210.jpg                C037735
http://pic.cdfgsanya.com/assets/ ... e3eec029d638e4a.jpg        C038020
http://pic.cdfgsanya.com/assets/ ... d5b2a384c5cfd9d.jpg                  C038131
http://pic.cdfgsanya.com/assets/ ... 87599fb8556333d.jpg        C038320

一共AB两列 就是想让python帮我把表格里的图片下载好 改成后面对应的名字存起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-25 17:30:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-6-25 17:34 编辑
Young少帅 发表于 2020-6-25 16:00
A                                                                                                         ...

由于没有你的csv,我用你说的内容做的csv文件,然后爬取正常。
import requests
import csv


headers = {'user-agent': 'firefox'}
with open('test.csv', 'r', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)
        r = requests.get(row[0], headers=headers)
        with open(row[1] + '.jpg','wb') as f:
            f.write(r.content)
            print(row[1] + '下载完成。')
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-26 21:18:31 | 显示全部楼层
我还是弄不好?能加个微信吗 我跟您好好探讨为什么我不能用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-27 10:43:28 | 显示全部楼层
Young少帅 发表于 2020-6-26 21:18
我还是弄不好?能加个微信吗 我跟您好好探讨为什么我不能用

你把你的csv分享出来吧,百度网盘或腾讯文档都可以。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-30 13:34:04 | 显示全部楼层
suchocolate 发表于 2020-6-27 10:43
你把你的csv分享出来吧,百度网盘或腾讯文档都可以。

就是两列一列是http://pic.cdfgsanya.com/assets/ ... ac7df8b07950352.jpg
另一列是C00000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 16:58:51 | 显示全部楼层
Young少帅 发表于 2020-6-30 13:34
就是两列一列是http://pic.cdfgsanya.com/assets/upload/product/73e4422f19d564663ac7df8b07950352.jpg
...

excel打开和用csv打开是不一样的,你把文件分享出来,让我们看看实际内容。
光说你看到的,但是实际python打开不一样,代码就跑步起来。
你还是分享文档吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 04:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表