在哪里将BeautifulSoup代码放在Asyncio Web爬网应用程序中

问题描述

我需要抓取并获取许多(每天5-10k)新闻文章的正文段落的原始文本。我已经编写了一些线程代码,但是鉴于该项目具有高度的I / O约束性,所以我涉足asyncio。下面的代码片段并不比1线程版本快,也比我的线程版本差得多。谁能告诉我我在做什么错?谢谢!

async def fetch(session,url):
    async with session.get(url) as response:
        return await response.text()

async def scrape_urls(urls):
    results = []
    tasks = []
    async with aiohttp.ClientSession() as session:
        for url in urls:
            html = await fetch(session,url)
            soup = BeautifulSoup(html,'html.parser')
            body = soup.find('div',attrs={'class':'entry-content'})
            paras = [normalize('NFKD',para.get_text()) for para in body.find_all('p')]
            results.append(paras)
    return results

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)