python 3.7使用aiohttp寫爬蟲來抓取數(shù)據(jù)

# !/usr/bin/env python
# encoding: utf-8

"""
file: gbk_test.py
time: 2019/7/9 14:13
Author: twy
"""
import aiohttp
import asyncio

async def test_aio(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            # 這里有個(gè)坑:使用GBK編碼的時(shí)候,一般要加上ignore,不然可能會(huì)報(bào)錯(cuò)
            print(await response.text("GBK", 'ignore'))


# python 3.7用法: gather 
async def main():
    await asyncio.gather(*[test_aio(url="https://www.dytt8.net/html/gndy/dyzz/list_23_2.html") for i in range(2)])


# python 3.7的寫法,使用新api:run
def start():
    asyncio.run(main())


# python 3.6的寫法使用get_event_loop API
def main_py36():
    loop = asyncio.get_event_loop()
    tasks = [asyncio.ensure_future(test_aio('https://www.dytt8.net/html/gndy/dyzz/list_23_2.html')) for i in range(2)]
    loop.run_until_complete(asyncio.wait(tasks))


if __name__ == "__main__":
    main_py36()
    start()

更多有趣的爬蟲demo可以看這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容