如何从图像URL下载图像并计算python中的重复次数?
我有一个包含imageid、imageurl的数据集。我需要使用图像URL提取所有图像,并将它们压缩到一个包含所有下载图像的文件中。我需要计算重复次数,因为一些图像url重复了好几次。如何在python中实现这一点 我想的方法是在这里使用for循环: image\u id应该是文件名 edit1:添加了代码,如何组合这两个for循环如何从图像URL下载图像并计算python中的重复次数?,python,python-3.x,dataset,Python,Python 3.x,Dataset,我有一个包含imageid、imageurl的数据集。我需要使用图像URL提取所有图像,并将它们压缩到一个包含所有下载图像的文件中。我需要计算重复次数,因为一些图像url重复了好几次。如何在python中实现这一点 我想的方法是在这里使用for循环: image\u id应该是文件名 edit1:添加了代码,如何组合这两个for循环 import urllib list1 = [] for key1 in (csv_file['imageid']): list1 =
import urllib
list1 = []
for key1 in (csv_file['imageid']):
list1 = str(key1)+".jpg"
for key in (csv_file['imageurl']):
urllib.request.urlretrieve(key, list1)
编辑2:
Edit3:使用库时出错
unknown url type: '430'
430
2020-03-02 22:08:26 ('430',)
2020-03-02 22:08:26 (ValueError("unknown url type: '430'"), '430')
2020-03-02 22:08:26 ('error url:', {'url': '430', '_concurrency': 1,
'_startTm': 1583167106.29, '_endTm': 1583167106.292}, None)
这就是我在使用此库时面临的错误根据您提供的CSV文件,下面是一个示例。但是我建议你不要直接使用这个库,因为它很麻烦。您可以尝试使用其他打包的库,例如requests和simplified_scrapy
import csv
import urllib.request
# from simplified_scrapy import req, utils
list1 = []
with open('test.csv') as f:
f_csv = csv.reader(f)
list1 = set([row[1] for row in f_csv if row][1:])
for url in list1:
urllib.request.urlretrieve(url, filename=url.split('/')[-1])
# utils.saveResponseAsFile(req.get(url),url.split('/')[-1])
给你一个使用simplified_scrapy下载图片的例子
from simplified_scrapy import Spider, SimplifiedDoc, SimplifiedMain, utils
import csv
class ImageSpider(Spider):
name = 'ImageSpider'
def __init__(self):
with open('test.csv')as f:
f_csv = csv.reader(f)
self.start_urls = [row[1] for row in f_csv if row][1:]
Spider.__init__(self,self.name) # The framework will help you eliminate duplicate data
def afterResponse(self, response, url, error=None, extra=None):
try:
# Create file name
end = url.find('?') if url.find('?')>0 else len(url)
name = 'data'+url[url.rindex('/',0,end):end]
# Save img
utils.saveResponseAsFile(response,name,'image')
return None
except Exception as err:
print (err)
SimplifiedMain.startThread(ImageSpider()) # Start
下面是SimplifiedDoc库的更多示例:首先尝试编写代码,当您收到错误消息时返回。您似乎知道
urllib
module-因此,现在您必须学习模块和字典来计算元素。您能更清楚地告诉我吗?我还是个新手。我必须在哪里输入列名才能打开URL的?我必须在哪里输入我想要设置的文件名??您的URL存储在test.csv文件中。使用索引检索URL(第[1]行)。发布你的CSV文件的一部分,我会给你一个基于它的例子。imageid imageurl 18 100 19 100 20 100 21 100在这个问题上为CSV文件添加了一个链接。基本上必须实现一个集合来保存您提到的csv文件或库。