13 爬蟲之協程

2022-09-24 06:42:09 字數 1381 閱讀 3871

首先我們需要知道的是requests是同步的方法。而我們若想使用協程,寫的方法都盡量不是使用同步的方法。

因些我們,選擇使用乙個新的模組庫`aiohttp

官網1.1 安裝

pip install aiohttp
1.2 快速開始
import aiohttp

loop.run_until_complete(main())

1.3 clientsession的使用

header設定

'basic bg9naw46cgfzcw=='cookie的使用

url = ''

cookies =

async with clientsession(cookies=cookies) as session:

async with session.get(url) as resp:

assert await resp.json() == }

proxy的使用

print(resp.status)1.4 response的使用

方法

python 協程 爬蟲

協程 又叫微執行緒 python的多執行緒沒法利用多核,只能用乙個核去切換,沒辦法實現真正的並行效果。多執行緒的意義,對於io密集型是有意義的。大部分處理都是io的,多執行緒是可以解決大多數情況的。但是解決不了並行的多程序。協程 非搶占式的程式,執行緒和程序都是搶占式的。協程也是要切換的,不過這種切...

多協程爬蟲

要實現非同步的爬蟲方式的話,需要用到多協程。同步的爬蟲方式爬取這8個 import requests,time 匯入requests和time start time.time 記錄程式開始時間 url list 把8個 封裝成列表 for url in url list 遍歷url list r r...

協程下的爬蟲

from urllib import request import gevent,time from gevent import monkey 在沒有加上此句和下一句時,執行速度理論上是一樣的,因為gevent檢測不到i o埠 monkey.patch all def f url print get...