import requestsimport pandas as pdimport numpy as npimport osimport randomimport stringimport csvheaders = { # 'Host': 'i.meizitu.net', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Upgrade-Insecure-Requests': '1', 'content-type': "application/json"}s = requests.session() # 保留会话# 下载图片def downIMG(url, fileName): try: url = str(url).split("?")[0] LAST = str(url).split(".")[-1] # 没有文件夹,则创建文件夹 if not os.path.exists('D:/Image/' + fileName): os.mkdir('D:/Image/' + fileName) url_re = s.get(url.strip(), headers=headers) if url_re.status_code == 200: open("D:/Image/" + fileName + "/" + initImageName() + "." + LAST, 'wb').write(url_re.content) except: with open("image-run-error.csv", "a", encoding='utf-8') as csvfile: writer = csv.writer(csvfile) writer.writerow(fileName, url) # 随机生成文件名 def initImageName(): ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8)) return ran_strif __name__ == '__main__': images = pd.read_csv("drug-image-url.csv") images.fillna('', inplace=True) images = np.array(images).tolist() for image in images: try: downIMG(image[2], image[0] + "," + str(image[1]).replace("*", "_")) except: continue