天天看點

python爬蟲之異步協程爬取圖檔python爬蟲之異步協程爬取圖檔

python爬蟲之異步協程爬取圖檔

# -*- coding = utf-8 -*-
# @Time : 2021/9/1 9:03
# @Software : PyCharm
import asyncio
import aiohttp

urls = [
    'https://scpic3.chinaz.net/Files/pic/pic9/202108/apic34826_s.jpg',
    'https://scpic3.chinaz.net/Files/pic/pic9/202108/apic34828_s.jpg',
    'https://scpic3.chinaz.net/Files/pic/pic9/202108/apic34825_s.jpg'
]

async def aiodownload(url):
    name = url.rsplit("/",1)[1]
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as respone:
             with open(name,mode='wb') as f:
                f.write(await respone.content.read())

async def main():
    tasks = []
    for url in urls:
        tasks.append(aiodownload(url))
    await asyncio.wait(tasks)

if __name__ == "__main__":
    asyncio.run(main())

           

爬取結果:

python爬蟲之異步協程爬取圖檔python爬蟲之異步協程爬取圖檔