asyncio+aiohttp實現的爬蟲如何查看返回的數據

是這樣的,有時候,大多時候,寫爬蟲程序的時候需要返回值的.

大家知道,協程的高併發性能是能夠提高爬蟲的效率的,好讓程序有其他的時間去執行其他的代碼.

但是我最近在猜測,如何查看爬蟲的返回值呢?

詳細代碼就不寫了,後面上貼圖吧...
loop = asyncio.get_event_loop()
task = asyncio.ensure_future(self.Request())
result = loop.run_until_complete(task) 

result 返回值直接就是你的返回值!

這個是單個協程的情況.

我們來講講多個協程...

loop = asyncio.get_event_loop()
task = [self.Request() for i in range(3)]
result = loop.run_until_complete(asyncio.wait(task)) # result返回爲元組,第一個是數據包,包含很多的數據(我們想要的數據段就在這個位置), 第二個是一個空的set()
for i in result[0]:
    print(i.result()) 
通過debug我們可以看到一個_result的dict()

因爲我的返回值就是一個dict,所以我們可以用for迭代來取出裏面的數據

for data in result[0]:#注意是第一個!

    print(data.result()) #他會有一個api給你調用.

今天無意發現的,看來debug NB!

 

代碼:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章