test02.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: UTF-8 -*-
  2. import os
  3. import time
  4. from random import randint
  5. import httpx
  6. from urllib.parse import unquote
  7. import threading
  8. text = ''
  9. headers = {
  10. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  11. }
  12. def get_jpg(file_name, urls):
  13. jpg_path = os.path.join(save_path, file_name)
  14. if not os.path.exists(jpg_path):
  15. os.makedirs(jpg_path)
  16. for url in urls:
  17. jpg_name = url.split('/')[-1]
  18. jpg_save_path = os.path.join(jpg_path, jpg_name)
  19. if not os.path.exists(jpg_save_path):
  20. time.sleep(randint(3, 5))
  21. jpg = httpx.get(url, headers=headers)
  22. if jpg.status_code == 200:
  23. print(f'正在保存 {url} 到 {file_name}')
  24. with open(jpg_save_path, 'wb') as f:
  25. f.write(jpg.content)
  26. else:
  27. print(f'{jpg_name} 已存在, 跳过')
  28. with open('test.txt', 'r') as file:
  29. lines = file.readlines()
  30. for line in lines:
  31. text += unquote(line.strip())
  32. save_path = os.path.join(os.getcwd(), 'fantasy')
  33. if not os.path.exists(save_path):
  34. os.mkdir(save_path)
  35. threads = []
  36. for file_name, urls in eval(text).items():
  37. t = threading.Thread(target=get_jpg, args=(file_name, urls,))
  38. t.start()
  39. threads.append(t)
  40. for t in threads:
  41. t.join()
  42. print("all done")