我有一个 pandas 数据框(名为df
),如下所示:
搜索词 | 名称 |
---|---|
香蕉 | fldr1 |
猕猴桃 | fldr2 |
咖啡。 | fldr3 |
我正在使用以下 python 代码在 Bing 中抓取图像search_term
,并将这些图像保存在名为 in 的文件夹中fname
。
from bing_image_downloader import downloader
for index, row in df.iterrows():
print(row['search_term'])
downloader.download(row['search_term'], limit=200, output_dir="FOLDERX", adult_filter_off=True, force_replace=False, timeout=60)
os.rename(os.path.join("FOLDERX",row['search_term']), os.path.join("FOLDERX",row['fname']))
但我想并行运行它,因为我有很多搜索词要经过。例如,如果有 10 个search_term
要通过,我希望与 2 个工作并行,将搜索词分成 2 个并同时抓取图像。我在google colab中运行它,到目前为止已经尝试过
import multiprocessing
from joblib import Parallel, delayed
def scrape_bing(df):
for index, row in df.iterrows():
print(row['search_term'])
downloader.download(row['search_term'], limit=200, output_dir="FOLDERX", adult_filter_off=True, force_replace=False, timeout=60)
os.rename(os.path.join("FOLDERX",row['search_term']), os.path.join("FOLDERX",row['fname']))
Parallel(n_jobs=2)(delayed(scrape_bing)(i, j) for i in range(5) for j in range(2))
但我不知道如何修改“延迟”中的参数以使其工作。请帮忙?