鱼C论坛

 找回密码
 立即注册
查看: 4287|回复: 14

[技术交流] 多线程下载头像

[复制链接]
发表于 2021-5-20 10:45:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 南归 于 2021-5-20 10:57 编辑

来论坛这么久了还没发过正经的帖子,把练手的多线程代码发一下,请大家指教

win10测试可用,运行后在电脑桌面会生成一个txpic文件夹

  1. # V1.0
  2. """
  3. 文件     :pic_down.py
  4. 时间     :2021/02/02 20:54:39
  5. """

  6. import requests
  7. import re
  8. import os
  9. import winreg
  10. import threading
  11. import queue


  12. headers = {
  13.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
  14. }


  15. def get_directory():  # 判断路径是否存在,否的话生成
  16.     global path
  17.     key = winreg.OpenKey(
  18.         winreg.HKEY_CURRENT_USER,
  19.         r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",
  20.     )
  21.     path = winreg.QueryValueEx(key, "Desktop")[0] + "\\txpic\\"
  22.     print(path)
  23.     if not os.path.exists(path):
  24.         os.mkdir(path)


  25. def pic_down(url):
  26.     # 动漫

  27.     first_response = requests.get(url=url, headers=headers)
  28.     pic_urllist = re.findall(r'"thumb": "(.*?)",', first_response.text)
  29.     id_list = re.findall(
  30.         r"http://img6.dl.ltimg.net/(.*?)\?auth_key=", first_response.text
  31.     )
  32.     name_dict = dict(zip(pic_urllist, id_list))
  33.     for pic_url in pic_urllist:
  34.         final_response = requests.get(url=pic_url, headers=headers)
  35.         name = name_dict[pic_url]
  36.         with open(path + name + ".jpg", "wb") as f:
  37.             f.write(final_response.content)
  38.     # return pic_url


  39. if __name__ == "__main__":
  40.     get_directory()
  41.     q = queue.Queue()
  42.     for i in range(1, 100):  # 构造网站队列
  43.         url = r"http://service.picasso.adesk.com/v1/avatar/avatar?limit=30&skip={}&adult=false&first=0&order=time".format(
  44.             i * 30
  45.         )
  46.         q.put(url)
  47.     while not q.empty():
  48.         for i in range(5):
  49.             try:
  50.                 t = threading.Thread(
  51.                     target=pic_down, args=(q.get(block=False),)
  52.                 )  # ! 堵塞?
  53.                 t.start()
  54.             except:  # *未知错误
  55.                 pass
复制代码


                               
登录/注册后可看大图

pic_down.zip

1.16 KB, 下载次数: 6

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
yayc_zcyd + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-20 16:07:45 | 显示全部楼层
太冷清了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-28 05:20:32 | 显示全部楼层
本帖最后由 TooBeautiful 于 2021-5-28 05:40 编辑

楼主美美哒!!!,你的这个是服务器地址啊!!!,微信小程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-28 09:55:06 | 显示全部楼层
TooBeautiful 发表于 2021-5-28 05:20
楼主美美哒!!!,你的这个是服务器地址啊!!!,微信小程序

??什么服务器地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-28 18:30:05 | 显示全部楼层
目测楼主的头像是网图吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-29 10:53:56 | 显示全部楼层
南归 发表于 2021-5-28 09:55
??什么服务器地址

你的api的,我打开后直接是一个字典。才疏学浅,学艺不精!!!


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-31 19:00:01 | 显示全部楼层
全能小乌贼 发表于 2021-5-28 18:30
目测楼主的头像是网图吧

那不是鞠婧祎吗....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-31 19:00:57 | 显示全部楼层
TooBeautiful 发表于 2021-5-29 10:53
你的api的,我打开后直接是一个字典。才疏学浅,学艺不精!!!

对啊,抓包得到的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 12:30:19 | 显示全部楼层
南归 发表于 2021-5-31 19:00
那不是鞠婧祎吗....

哈哈哈哈,好吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:43:14 | 显示全部楼层
我服了,你就写成这样,还想批评我,你就是下载字典而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:44:05 | 显示全部楼层
下载头像,成了字典,我服了,我那个文章是一行代码破解wifi,你这是什么?还说我没有技术含量!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:45:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:46:14 | 显示全部楼层
这个链接,自己看你说的什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:47:52 | 显示全部楼层
你这是什么语言啊,python?行了,我现在玩51单片机,这就是为什么我来这里学C语言,python早就学过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 06:49:49 | 显示全部楼层
一点技术含量都木有,有本事你去破解网络

评分

参与人数 1鱼币 -1 收起 理由
python爱好者. -1 太言重了

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-26 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表