问题描述
我需要抓取并获取许多(每天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 (将#修改为@)