吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1560|回复: 15
收起左侧

[求助] python爬取网页图片时怎么多线程或多进程,加快速度

  [复制链接]
16713720339 发表于 2023-1-12 19:55
我爬取一个网站,里面的一些图片,网站是有规律的,标号加一就行了
但是每个网页有几张图片,写的python程序只能访问网页,获取多个图片地址,一张一张下载图片,感觉有些慢,
能不能使用多线程加快速度
比如访问网站的加载时间进行其他的保存,或者是说我获取到一个网页的所有图片地址了,能不能批量多线程保存

网站就放不出来了,网站是男人都懂得网站

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
Lucifer_BW + 1 + 1 热心回复!
HuaLiang + 1 爱莫能助

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xiangmeier 发表于 2023-1-12 20:21
嘎嘎嘎嘎嘎,刚好学到这儿,用协程模块, asyncio,这个感觉刚开始比较难理解链接: https://pan.baidu.com/s/1YjWTm6fSG0FKLnEBcXbAug?pwd=wiz6
mainblog 发表于 2023-1-12 20:21
楼主可以看看这篇文章,算是最简单的方法了。https://www.mainblog.cn/282.html
Asra 发表于 2023-1-12 21:03
用协程异步吧,asyncio负责异步,aiohttp发送请求,aiofiles来操作文件的保存,全部操作全部改成异步的,就可以同时爬了。最近也才学过这,爬过一些电影,效率挺高的
刹那光华 发表于 2023-1-13 00:41
一个线程获取地址,保存到一个列表。其他多个线程获取到列表里的地址开始下载,下载完一次再次获取地址。获取地址需要线程锁,防止重复下载
alongzhenggang 发表于 2023-1-13 05:29
用idm直接拒绝访问
爱的人 发表于 2023-1-13 06:13
建议还是单线程吧。请求量太大了。别人的服务器压力顶不住的
adx123456 发表于 2023-1-13 08:13
用多进程(threading)或多线程(multiprocessing)模块
yang19950324 发表于 2023-1-13 09:26
从解决你的需求来说   使用 asyncio 异步协程处理是最合适的,但是爬网站的时候还是轻点,别给人干崩了
xu741852 发表于 2023-1-13 09:36

导包:from queue import Queue
           import threading
使用:用queue队列存放下载地址,然后开启多线程。
threading.Thread(target=函数名)
.start()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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