爬蟲,用協程下載圖片中TypeError: a bytes-like object is required, not 'coroutine'


async def aio_download(img_url, img_name):
    async with aiohttp.ClientSession() as session:
        async with session.get(img_url) as resp:
            async with aiofiles.open('img/' + img_name, mode='ab') as f:
                await f.write(resp.read())
                print(img_name, "下載完畢!")

剛開始的下載代碼是這個樣子的,但是程序運行的時候一直報錯TypeError,我一直以為是代碼里f.write(resp.read())的輸入的類型不對,到處找,最后發現是少了一個await的問題最終的代碼如下:

async def aio_download(img_url, img_name):
    async with aiohttp.ClientSession() as session:
        async with session.get(img_url) as resp:
            async with aiofiles.open('img/' + img_name, mode='ab') as f:
                img = await resp.read()
                await f.write(img)
                print(img_name, "下載完畢!")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM