# Generated by Glenn Jocher glennjocherultralyticscom for httpsgithubcomultralyticsimport argparseimport osimport timefrom flickrapi import FlickrAPIfrom utilsgeneral import download_urikey = fccae758
可以按照以下步骤修改程序:
- 在程序中添加读取文件的代码,将每行的中文词语存储到一个列表中。
# read search terms from file
with open('D:\code\SceneSeg-master\1.txt', 'r', encoding='utf-8') as f:
search_terms = [line.strip() for line in f]
- 将原来的
opt.search参数替换为从列表中循环读取的每个搜索词语。
for search_term in search_terms:
get_urls(search=search_term, # search term
n=opt.n, # max number of images
download=opt.download) # download images
完整修改后的程序如下:
# Generated by Glenn Jocher (glenn.jocher@ultralytics.com) for https://github.com/ultralytics
import argparse
import os
import time
from flickrapi import FlickrAPI
from utils.general import download_uri
key = 'fccae758795e93999e5ee449b2d5303d' # Flickr API key https://www.flickr.com/services/apps/create/apply
secret = '7c4e41e73cd6240c'
def get_urls(search='honeybees on flowers', n=10, download=False):
t = time.time()
flickr = FlickrAPI(key, secret)
license = () # https://www.flickr.com/services/api/explore/?method=flickr.photos.licenses.getInfo
photos = flickr.walk(text=search, # http://www.flickr.com/services/api/flickr.photos.search.html
extras='url_o',
per_page=500, # 1-500
license=license,
sort='relevance')
if download:
dir = os.getcwd() + os.sep + 'images' + os.sep + search.replace(' ', '_') + os.sep # save directory
if not os.path.exists(dir):
os.makedirs(dir)
urls = []
for i, photo in enumerate(photos):
if i < n:
try:
# construct url https://www.flickr.com/services/api/misc.urls.html
url = photo.get('url_o') # original size
if url is None:
url = f"https://farm{photo.get('farm')}.staticflickr.com/{photo.get('server')}/{photo.get('id')}_{photo.get('secret')}_b.jpg"
# download
if download:
download_uri(url, dir)
urls.append(url)
print('%g/%g %s' % (i, n, url))
except:
print('%g/%g error...' % (i, n))
# import pandas as pd
# urls = pd.Series(urls)
# urls.to_csv(search + "_urls.csv")
print('Done. (%.1fs)' % (time.time() - t) + ('\nAll images saved to %s' % dir if download else ''))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--n', type=int, default=10, help='number of images')
parser.add_argument('--download', action='store_true', help='download images')
opt = parser.parse_args()
# Check key
help_url = 'https://www.flickr.com/services/apps/create/apply'
assert key and secret, f'Flickr API key required in flickr_scraper.py L11-12. To apply visit {help_url}'
# read search terms from file
with open('D:\code\SceneSeg-master\1.txt', 'r', encoding='utf-8') as f:
search_terms = [line.strip() for line in f]
for search_term in search_terms:
get_urls(search=search_term, # search term
n=opt.n, # max number of images
download=opt.download) # download images
``
原文地址: https://www.cveoy.top/t/topic/fEdh 著作权归作者所有。请勿转载和采集!