使用 aiohttp 的 Python lib 美丽的汤

标签 python aiohttp

有人知道怎么做:

import html5lib
import urllib
from bs4 import BeautifulSoup

soup = BeautifulSoup(urllib.request.urlopen('http://someWebSite.com').read().decode('utf-8'), 'html5lib')

使用 aiohttp 代替 urllib ?

谢谢^^

最佳答案

你可以这样做:

import asyncio
import aiohttp
import html5lib
from bs4 import BeautifulSoup

SELECTED_URL = 'http://someWebSite.com'

async def get_site_content():
    async with aiohttp.ClientSession() as session:
        async with session.get(SELECTED_URL) as resp:
            text = await resp.read()

    return BeautifulSoup(text.decode('utf-8'), 'html5lib')

loop = asyncio.get_event_loop()
sites_soup = loop.run_until_complete(get_site_content())
print(sites_soup)
loop.close()

关于使用 aiohttp 的 Python lib 美丽的汤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44182014/

相关文章:

python - 绘制n个相同的无重叠和中心重心的圆

python - 有没有办法找到多个计时器中哪一个引发了异常?

python - 如何在 aiohttp 服务器响应正文中提供客户端请求 header 和服务器响应 header ?

python - 如何使用 SOCKS 代理向 aiohttp 发出请求?

python - 如何模拟 aiohttp.client.ClientSession.get 异步上下文管理器

python-3.x - 如何使用不支持异步的库?

python - 获取文件的关联文件类型图标

python - 使用python elasticsearch创建索引时如何处理try catch异常?

python - Pandas 获取具有独特列组合的 DataFrame

python - 在 CentOS 7/Apache 2.4/Python 3.4 上运行 Django 1.9