python爬取网页图片时怎么多线程或多进程,加快速度
我爬取一个网站,里面的一些图片,网站是有规律的,标号加一就行了但是每个网页有几张图片,写的python程序只能访问网页,获取多个图片地址,一张一张下载图片,感觉有些慢,
能不能使用多线程加快速度
比如访问网站的加载时间进行其他的保存,或者是说我获取到一个网页的所有图片地址了,能不能批量多线程保存
网站就放不出来了,网站是男人都懂得网站{:301_997:} 嘎嘎嘎嘎嘎,刚好学到这儿,用协程模块, asyncio,这个感觉刚开始比较难理解链接: https://pan.baidu.com/s/1YjWTm6fSG0FKLnEBcXbAug?pwd=wiz6 楼主可以看看这篇文章,算是最简单的方法了。https://www.mainblog.cn/282.html 用协程异步吧,asyncio负责异步,aiohttp发送请求,aiofiles来操作文件的保存,全部操作全部改成异步的,就可以同时爬了。最近也才学过这,爬过一些电影,效率挺高的 一个线程获取地址,保存到一个列表。其他多个线程获取到列表里的地址开始下载,下载完一次再次获取地址。获取地址需要线程锁,防止重复下载 用idm直接拒绝访问{:301_971:}嗯 建议还是单线程吧。请求量太大了。别人的服务器压力顶不住的 用多进程(threading)或多线程(multiprocessing)模块 从解决你的需求来说 使用 asyncio 异步协程处理是最合适的,但是爬网站的时候还是轻点,别给人干崩了
导包:from queue import Queue
import threading
使用:用queue队列存放下载地址,然后开启多线程。
threading.Thread(target=函数名)
.start()
页:
[1]
2